当前位置: 首页 > news >正文

《使用 IDEA 部署 Docker 应用指南》

使用 IDEA 部署 Docker 应用的详细步骤

一、创建 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 连接

  1. 打开 IDEA 的设置页面(FileSettings

  2. 在左侧导航栏中选择 构建、执行、部署Docker

  3. 点击右上角的+号添加 Docker 连接

  4. 选择连接方式(示例中选择SSH连接),并填写相关连接信息

  5. 点击确认完成连接配置

请添加图片描述

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

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

  2. 在弹出的窗口中:

  • 点击左上角+号,选择DockerDockerfile

  • 服务器选项中选择刚刚配置的 Docker 服务连接(示例中为 “腾讯云”)

  • Dockerfile选项中选择项目根目录下的Dockerfile文件

  • 设定镜像标记(示例中为adminzoo

  • 配置容器相关参数:

    • 容器名称:adminzoo

    • 绑定端口:9802:9491(格式为主机端口:容器端口

    • 运行选项:--network ubuntu_app_network(根据实际网络需求配置)

  1. 点击应用确定完成配置
    请添加图片描述

四、构建并运行 Docker 镜像

  1. 在 IDEA 顶部的运行配置下拉框中,选择刚刚配置好的 Docker 运行环境

  2. 点击运行按钮(绿色三角形)

  3. 观察 IDEA 底部的控制台输出,可查看 Docker 的镜像构建过程、运行状态及应用日志

请添加图片描述

注意事项

  • 确保本地已构建好对应的 Jar 包(示例中为runner/target/runner-0.0.1-SNAPSHOT.jar),否则会出现文件复制失败的错误

  • 端口映射需确保主机端口未被占用,且容器内部应用监听的端口与EXPOSE指令及映射配置一致

  • 若需要连接其他容器服务,需确保在同一网络中(可通过--network参数指定)

http://www.lryc.cn/news/594778.html

相关文章:

  • 在Anolis8.6上源码编译安装部署OpenVAS(GVM)未完待续
  • git bash命令不够完善,想整合msys2该怎么办?
  • Dynamics 365 Contact Center是什么
  • Java 解析前端上传 ZIP 压缩包内 Excel 文件的完整实现方案
  • 前端开发者快速理解Spring Boot项目指南
  • 在 Angular 应用程序中使用 Genkit 的完整指南
  • docker 容器学习
  • Three.js 全景图(Equirectangular Texture)教程:从加载到球面映射
  • AR技术:应急响应的加速利器
  • AR技术:石化行业培训的“游戏规则改变者”
  • Web开发:ABP框架12——中间件Middleware的创建和使用
  • AR巡检和传统巡检的区别
  • CCLink IE转ModbusTCP网关与三菱PLC通讯无纸记录器
  • uni-app开发小程序,根据图片提取主题色值
  • 网络编程基础:从 OSI 模型到 TCP/IP 协议族的全面解析
  • Android 中 SystemServiceManager 和 ServiceManager 的应用场景、区别与联系
  • 漏洞扫描 + 渗透测试:双轮驱动筑牢网络安全防线
  • Ubuntu 22.04 使用 Docker 安装 Redis 5 (安装包形式)
  • 内网与外网是通过什么进行传输的?内外网文件传输的安全方法
  • C#最佳实践:为何应尽量减少静态类的使用
  • 迅为八核高算力RK3576开发板摄像头实时推理测试 RetinaFace人脸检测
  • Curtain e-locker 易锁防泄密:无需网络隔离,实现安全与效率并存
  • 大腾智能国产3D CAD软件正式上架华为云云商店
  • 进程资源分配的安全性判断与安全序列
  • ZooKeeper学习专栏(四):单机模式部署与基础操作详解
  • 【c++】leetcode5 最长回文子串
  • 突破量子仿真瓶颈:微算法科技MLGO量子算法的算术化与核操作迭代模型
  • 飞算科技:以原创技术为翼,赋能产业数字化转型
  • Spring 中的 Bean 作用域(Scope)有哪些?各自适用于什么场景?
  • 江苏思必驰科技25Java实习面经