使用 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.pswp.cn/news/915465.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915465.shtml
英文地址,请注明出处:http://en.pswp.cn/news/915465.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker#3】Window 和 Linux 上 docker安装 相关知识

前置了解: X86 高并发:基于 x86 架构的处理器,在高负载下处理大量并发请求的能力。ARM :使用 ARM 架构处理器的移动设备,具有低功耗和高性能的特点。 操作系统: CentOS:基于 Red Hat Enterprise…

一次 POI 版本升级踩坑记录

前言 结论先行。 开发过程中由于可能涉及到二次开发,若原系统开发时间久远,没有达成一致规范设计,导致风格各异,确实满足当时开发场景,但增大了后续的更新的难度,容易出现俄罗斯套娃现象,新的更…

硬件设计学习DAY13——电源缓冲电路设计全解

每日更新教程,评论区答疑解惑,小白也能变大神!" 目录 一.缓冲电路介绍 1.1缓冲电路的作用 1.2寄生参数的来源 1.3缓冲电路的类型 1.4常见缓冲电路设计 1.5设计原则 二.吸收与缓冲 2.1吸收与缓冲的核心作用 2.2电压尖峰与吸收措…

鸿蒙搜狐新闻如何在Native调用ArkTS方法

01前言鸿蒙作为一款新兴的智能操作系统,现在适配鸿蒙系统的应用越来越多,同时会面临三端兼容问题,如同一产品功能,需要维护iOS、Android、鸿蒙三端代码。拿文件上传、下载功能场景举例,同时要适配iOS、Android、鸿蒙三…

Java行为型模式---中介者模式

中介者模式基础概念中介者模式(Mediator Pattern)是一种行为型设计模式,其核心思想是通过一个中介对象来封装一系列对象之间的交互,使各对象不需要显式地相互引用,从而降低耦合度,并可以独立地改变它们之间…

Python爬虫实战:研究Korean库相关技术

一、引言 1.1 研究背景与意义 随着韩流文化在全球的传播,韩语网页内容急剧增加。韩国在科技、娱乐等领域的信息具有重要研究价值。然而,韩语独特的黏着语特性(如助词体系、词尾变化)给信息处理带来挑战。传统爬虫缺乏对韩语语言特点的针对性处理,本研究旨在开发一套完整…

表单校验--数组各项独立校验

写需求时遇到一个这样的问题&#xff0c;就是校样项是多个的&#xff0c;但是其字段名称相同这时我们可以这样校验&#xff0c;注意字段之间的关联性<div v-for"(item,index) in formData.hospitalDoctorList" :key"item.key || index"><el-form-…

基于SpringBoot和leaflet-timeline-slider的历史叙事GIS展示-以哪吒2的海外国家上映安排为例

目录 前言 一、哪吒2的海外之路 1、海外征战历程 2、上映国家空间查询 二、后端接口的实现 1、模型层的实现 2、上映时间与国家 3、控制层的实现 三、基于leaflet-timeline-slider的前端实现 1、时间轴控件的引入及定义 2、时间轴绑定事件 3、成果展示 四、总结 前言…

tar 解压:Cannot change ownership to uid 1000, gid 1000: Operation not permitted

tar 解压 tar.gz 压缩包报错&#xff1a; # tar xzf $INPUT_FOLDER/archive.tar.gz -C /mnt/test-nas/[..] tar: xx.jpg: Cannot change ownership to uid 1000, gid 1000: Operation not permitted原因是用普通用户执行的解压缩脚本&#xff0c;用root用户执行tar解压缩&…

腾讯客户端开发面试真题分析

以下是针对腾讯客户端开发工程师面试问题的分类与高频问题分析&#xff08;基于​​105道问题&#xff0c;总出现次数118次​​&#xff09;。按技术领域整合为​​7大类别​​&#xff0c;按占比排序并精选高频问题标注优先级&#xff08;1-5&#x1f31f;&#xff09;&#x…

线上问题排查之【CPU飙高100%】

目录 案例 发现问题 排查问题 步骤一 步骤二 步骤三 案例 import java.util.concurrent.TimeUnit;/*** 简单写一个CPU飙高的案例*/ public class CpuLoadUp {// 这里定义了一个标识private volatile static int flag 0;public static void main(String[] args) {// 执行…

c语言 进阶 动态内存管理

动态内存管理1. 为什么存在动态内存分配2. 动态内存函数的介绍​2.1 malloc 和 freemalloc 函数free 函数2.2内存泄漏2.3 calloc2.4 realloc3. 常见的动态内存错误3.1 对NULL指针的解引用操作3.2 对动态开辟空间的越界访问3.3 对非动态开辟内存使用free释放3.4 使用free释放一块…

Redis的五大基本数据类型

一、Redis基本知识与Redis键&#xff08;key&#xff09;常用操作命令。redis的默认端口6379。mysql默认端口号3306。 默认16个数据库&#xff0c;类似数组的下标从0开始&#xff0c;初始默认使用0号库。可以使用select index来切换数据库&#xff0c;如&#xff1a;select 1&a…

达梦数据库JSON_TABLE使用说明

在达梦数据库&#xff08;DM Database&#xff09;中&#xff0c;将 JSON 数据转换为表格形式可以使用内置的 JSON_TABLE 函数。以下是详细步骤和示例&#xff1a;1. 核心函数&#xff1a;JSON_TABLE JSON_TABLE 用于将 JSON 数据解析为关系表结构&#xff0c;支持从 JSON 对象…

A316-1926-V1 USB多路高清音频解码器模组技术解析

随着数字音频技术的不断发展&#xff0c;高品质音频解决方案的需求日益增长。本文将介绍一款基于XMOS技术的高性能USB音频解码器模组——A316-1926-V1&#xff0c;这是一款专为高清音频应用设计的专业模组。核心技术与特性A316-1926-V1是一款集成了多项先进技术的USB多路高清音…

.NET 8 中的 KeyedService

.NET 8 中的 KeyedService&#xff1a;新特性解析与使用示例 一、引言 在 .NET 8 的 Preview 7 版本中&#xff0c;引入了 KeyedService 支持。这一特性为开发者提供了按名称&#xff08;name&#xff09;获取服务的便利&#xff0c;在某些场景下&#xff0c;开发者无需再自行…

Paimon对比基于消息队列(如Kafka)的传统实时数仓方案的优势

弊端&#xff1a;数据重复 -> 优势&#xff1a;Paimon 主键表原生去重原方案弊端 (Kafka)问题: 消息队列&#xff08;Kafka&#xff09;是仅支持追加&#xff08;Append-Only&#xff09;的日志流。当 Flink 作业发生故障恢复&#xff08;Failover&#xff09;或业务逻辑迭代…

Linux Shell 命令 + 项目场景

shell 命令1. 基础文件操作命令1.1 ls - 列出目录内容1.2 find - 文件搜索2. 版本控制命令2.1 git - 版本控制系统2.2 高级 Git 操作3. 文本搜索命令3.1 grep - 文本搜索3.2 高级搜索技巧4. Android 构建系统命令4.1 source - 加载环境变量4.2 lunch - 选择构建目标4.3 m - And…

A316-Mini-V1:超小尺寸USB高清音频解码器模组技术探析

引言 随着便携式音频设备的普及&#xff0c;对小型化、高性能音频解决方案的需求日益增长。本文将介绍一款极致小型化的高性能USB音频解码器模组——A316-Mini-V1&#xff0c;这是一款基于XMOS XU316芯片的微型音频处理模组。产品概述 A316-Mini-V1是一款专为小尺寸产品设计的M…

低代码平台买saas好还是私有化好

选择低代码平台采用SaaS还是私有化部署&#xff0c;应根据企业具体情况考虑安全性、成本控制、维护难度、扩展需求等因素。 其中&#xff0c;安全性是决定企业选择的重要因素之一。私有化部署意味着企业能够完全掌控数据和系统的安全管理&#xff0c;更适合对数据安全要求极高的…