使用IDEA部署Docker应用指南分享

 更新时间:2025年07月31日 16:09:17   作者:SanMu三木  
本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEA Docker连接、设置运行调试环境、构建运行镜像,并强调需准备本地Jar包、正确映射端口及网络配置

一、创建 Dockerfile 配置文件

在项目根目录下创建Dockerfile文件,配置内容如下:

# 使用官方的OpenJDK镜像作为基础镜像
FROM openjdk:17-jdk-slim

# 设置维护者信息(可选)
LABEL maintainer="三木豪"

# 设置工作目录
WORKDIR /app

# 将本地构建好的jar包复制到容器中
COPY runner/target/runner-0.0.1-SNAPSHOT.jar /app/runner.jar

# 暴露应用运行的端口,默认Spring Boot应用会监听8080端口
EXPOSE 8080

# 设置环境变量(可选),比如时区等
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/\$TZ /etc/localtime && echo \$TZ > /etc/timezone


# 启动命令,使用java -jar命令来启动应用
ENTRYPOINT \["java", "-jar", "/app/runner.jar"]

二、配置 IDEA 的 Docker 连接

  • 打开 IDEA 的设置页面(FileSettings
  • 在左侧导航栏中选择 构建、执行、部署Docker
  • 点击右上角的+号添加 Docker 连接
  • 选择连接方式(示例中选择SSH连接),并填写相关连接信息
  • 点击确认完成连接配置

三、配置 Docker 运行 / 调试环境

点击 IDEA 顶部菜单栏的Run编辑配置(或直接点击工具栏中的运行配置下拉框选择编辑配置

在弹出的窗口中:

  • 点击左上角+号,选择DockerDockerfile
  • 服务器选项中选择刚刚配置的 Docker 服务连接(示例中为 “腾讯云”)
  • Dockerfile选项中选择项目根目录下的Dockerfile文件
  • 设定镜像标记(示例中为adminzoo

配置容器相关参数:

  • 容器名称:adminzoo
  • 绑定端口:9802:9491(格式为主机端口:容器端口
  • 运行选项:--network ubuntu_app_network(根据实际网络需求配置)

点击应用确定完成配置

四、构建并运行 Docker 镜像

  • 在 IDEA 顶部的运行配置下拉框中,选择刚刚配置好的 Docker 运行环境
  • 点击运行按钮(绿色三角形)
  • 观察 IDEA 底部的控制台输出,可查看 Docker 的镜像构建过程、运行状态及应用日志

注意事项

  • 确保本地已构建好对应的 Jar 包(示例中为runner/target/runner-0.0.1-SNAPSHOT.jar),否则会出现文件复制失败的错误
  • 端口映射需确保主机端口未被占用,且容器内部应用监听的端口与EXPOSE指令及映射配置一致
  • 若需要连接其他容器服务,需确保在同一网络中(可通过--network参数指定)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • windows7配置java环境变量的图文教程

    windows7配置java环境变量的图文教程

    这篇文章主要介绍了windows7配置java环境变量的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 通过IDEA快速定位和排除依赖冲突问题

    通过IDEA快速定位和排除依赖冲突问题

    这篇文章主要介绍了通过IDEA快速定位和排除依赖冲突问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 浅谈Java中BigDecimal类的简单应用

    浅谈Java中BigDecimal类的简单应用

    这篇文章主要介绍了浅谈Java中BigDecimal类的简单应用,BigDecimal是由任意精度的整数非标度值和32位的整数标度组成,如果为零或正数,则标度是小数点后的位数,如果为负数,则将该数的非标度值乘以 10的负scale次幂,需要的朋友可以参考下
    2023-07-07
  • SpringBoot如何打印mybatis的执行sql问题

    SpringBoot如何打印mybatis的执行sql问题

    这篇文章主要介绍了SpringBoot如何打印mybatis的执行sql问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • SpringBoot+vue实现登录图片验证码功能

    SpringBoot+vue实现登录图片验证码功能

    这篇文章主要给大家介绍一下如何SpringBoot+vue实现登录图片验证码功能,文中有详细的代码示例,具有一定的参考价值,需要的朋友可以参考下
    2023-07-07
  • Java实现酒店客房管理系统

    Java实现酒店客房管理系统

    这篇文章主要为大家详细介绍了Java实现酒店客房管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Java封装数组之改进为泛型数组操作详解

    Java封装数组之改进为泛型数组操作详解

    这篇文章主要介绍了Java封装数组之改进为泛型数组操作,结合实例形式详细分析了Java封装数组为泛型数组相关原理、操作技巧与注意事项,需要的朋友可以参考下
    2020-03-03
  • 一文掌握Spring Cookie和Session 是什么及区别介绍

    一文掌握Spring Cookie和Session 是什么及区别介绍

    Cookie和Session都是用于在客户端和服务器之间传递信息的技术,但它们的工作方式和使用场景有所不同,Cookie是在客户端保存用户信息的一种机制,而Session是在服务器端保存用户信息的一种机制,本文介绍Spring Cookie和Session 是什么,感兴趣的朋友一起看看吧
    2025-01-01
  • 详解SpringBoot如何统一后端返回格式

    详解SpringBoot如何统一后端返回格式

    今天我们来聊一聊在基于SpringBoot前后端分离开发模式下,如何友好的返回统一的标准格式以及如何优雅的处理全局异常,感兴趣的可以了解一下
    2021-07-07
  • 解析Java中的队列和用LinkedList集合模拟队列的方法

    解析Java中的队列和用LinkedList集合模拟队列的方法

    这篇文章主要介绍了解析Java中的队列和用LinkedList集合模拟队列的方法,相关算法的实现也是ACM中的常见题目,需要的朋友可以参考下
    2015-08-08

最新评论