Docker 入门篇(六)-- idea 打包 docker 镜像流程

news2024/11/24 14:41:26

环境准备:

  • idea 环境:IntelliJ IDEA 2021.3.1 (Ultimate Edition)
  • docker 版本:v. 26.1.0
  • 准备 springboot jar 文件 :target/DockerDemo-0.0.1-SNAPSHOT.jar
  • docker 可视化管理工具 portainer :v2.6.0

一. 配置docker远程访问

1.在linux系统中查找docker.service文件,使用命令:find / -name docker.service
在这里插入图片描述

2.编辑 /usr/lib/systemd/system/docker.service文件,在ExecStart=/usr/bin/dockerd后面添加 -H tcp://0.0.0.0:2375
在这里插入图片描述

二. 配置 远程docker 服务连接

  1. 安装docker插件
    File->Settings->Plugins
    在这里插入图片描述

  2. 在 idea 文件-》设置 菜单中打开对话框,配置 docker 服务地址及端口号(默认 2375),并连接测试。
    在这里插入图片描述

三. 编写 Dockerfile 文件

在 项目 pom 同级目录中 添加 Dockerfile 文件

#先初始化Java环境;
FROM openjdk:8
#设置一个临时目录,项目运行时tomcat需要;
VOLUME /tmp/tomcat
#定义 端口
EXPOSE 8889
#将jar包复制并且重命名
ADD target/DockerDemo-0.0.1-SNAPSHOT.jar dockerDemo.jar
#编写运行时的命令
ENTRYPOINT ["java","-jar","/dockerDemo.jar"]

在这里插入图片描述

注:Dockerfile 规则 可以参考博客:Dockerfile文件详解

编辑 运行配置
在这里插入图片描述

运行配置文件

在这里插入图片描述
构建日志:
在这里插入图片描述

四. 测试访问服务地址

注:地址 ip 为docker 所在服务器地址

在这里插入图片描述

五、生产环境部署

  1. 导出 镜像文件 docker-demo.tar
docker save  docker-demo:v0.0.2  -o D:\developsoft\docker\DockerDesktopWSL\data\images\docker-demo.tar
  1. 导入生产环境
  • 方式一、使用 portainer 工具导入镜像

在这里插入图片描述

  • 方式二、命令行导入镜像,上传 镜像文件到服务器 /root 目录
docker load -i /root/docker-demo.tar
  1. 创建并启动容器
docker run --name docker-demo-container -d \
--restart unless-stopped \
-p 8889:8889\
docker-demo:v0.0.2
  1. 访问并查看 服务
    在这里插入图片描述

六. 问题记录

1.docker 环境无 Java 镜像 解决
#查找 Java 镜像

docker search openjdk

#拉取 Java 镜像

docker pull openjdk:8

2.端口映射 及创建容器

docker run -p 8889:8889 --name docker-demo-compose docker-demo:latest

参考博客:

IDEA之Docker部署项目篇 https://blog.csdn.net/weixin_42183288/article/details/124864681
docker 容器相关操作 详解 https://blog.csdn.net/qq_39237205/article/details/126501290
docker 容器与镜像区别详解 https://zhuanlan.zhihu.com/p/342894368
Docker 镜像拉取(以mysql 为例) https://blog.csdn.net/weixin_47560078/article/details/126189386

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647391.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

node.js+vue3 实现

目录 一、node.jsvue3 1.1 node安装 1.2 node.jsvue3预期 二、项目及程序代码 2.1 创建项目 2.2 Node.js 服务器 (server.js) 2.3 public/index.html 2.4 src/main.js 2.5 src/App.vue 2.6 vue.config.js 三、编译实现 3.1 安装必要的依赖 3.2 运行Node.js服务器 …

04-25 周四 FastBuild重构实践-TLS、全局捕获异常、一键配置

04-25 周四 FastBuild重构实践 时间版本修改人描述04-25V0.1宋全恒新建文档2024年5月6日14:33:16V1.0宋全恒完成文档撰写 简介 由于 04-22 周日 阿里云-瑶光上部署FastBuild过程(配置TLS、自定义辅助命令)描述了重新部署一个FastBuild实例的过程,通过阅读这个&…

ADS过孔---过孔建模自动化

当前快速建模的方法有两类:一是脚本自动化,也就是今天要分享的方法,但该方法需要工程师有基本的脚本编辑能力,然后根据自己的需要去修改,难度较大一点点;二是参数化建模,也就是在GUI界面输入相应…

基于 Spring Boot 博客系统开发(七)

基于 Spring Boot 博客系统开发(七) 本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(六)&#x1f…

远程连接是什么?

远程连接是指通过网络连接两个或多个设备,实现远程访问、控制或传输数据的技术。它在现代科技发展中起到了重要作用,使得我们可以随时随地与远程设备进行交互、管理和操作。 天联组网是一种高效的远程连接解决方案,它因为操作简单、跨平台应用…

算法(C++

题目:螺旋矩阵(59. 螺旋矩阵 II - 力扣(LeetCode)) 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入&am…

IT养生知识之:子午流注

《子午流注口诀》 肺寅大卯胃辰宫, 脾巳心午小未中, 申膀酉肾心包戌, 亥焦子胆丑肝通。 何为子午流注? 子午流注是中医圣贤发现的一种规律,中医认为人体中十二条经脉对应着每日的十二个时辰,由于时辰在…

计算机网络4——网络层8 软件定义网络 SDN

文章目录 一、介绍1、简介2、原理3、案例1)普通2)负载均衡的例子3)防火墙的例子 二、控制层面1、特征2、层次 一、介绍 1、简介 SDN的概念最初由斯坦福大学N.McKeown于2009年首先提出。当时还只是在学术界进行探讨的一种新的网络体系结构。…

springboot+mp自动生成没有实体类

mybatisX版本冲突问题 一开始我的MyBatisX版本是1.6.1-3,使用mybatis-plus一直不能正常生成实体类 将MyBatisX的版本换成了1.5.7就可以了 MyBatisX版本更换 1.将原有的MyBatisX卸载后重新安装一个新的版本 2.选择一个合适的版本,这里我选的是1.5.7 下载完成后自己选择一个…

css实现上下左右对勾选中状态角标

🍥左上角 🍥右上角 🍥左下角 🍥右下角: 🍥左上角: .blueBackground {position: relative;border: 1px solid #91c7f3;background: #F0F8FF !important;&:after {content: "";position: absolute;top:…

【Java从入门到精通】Java 重写(Override)与重载(Overload)

重写(Override) 重写(Override)是指子类定义了一个与其父类中具有相同名称、参数列表和返回类型的方法,并且子类方法的实现覆盖了父类方法的实现。 即外壳不变,核心重写! 重写的好处在于子类可以根据需要&#xff0c…

jmeter后置处理器提取到的参数因为换行符导致json解析错误

现象: {"message":"JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Ill…

FastAdmin实现后台菜单自定义方法

FastAdmin实现后台菜单自定义显示,默认显示的是编辑和删除操作,我们有的时候是需要增加一些功能性的按钮,例如审核,或者说更多的关联性的信息。那么我们就可以按如下的操作去做 上面是默认展示的功能图片,下面我来简单…

上海亚商投顾:沪指创年内新高 化工板块掀涨停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数昨日高开震荡,沪指涨超1%续创年内新高,深成指、创业板指均涨约2%。化工股集体…

PPT中如何在原有的表格中新增/删除一行

在编辑PPT中插入的表格时,如果发现原有表格不够用/原有表格需过多,需要新插入/新删除一行,应该怎么做?今天就为大家演示一下这个小常识。 1.PPT中在原有的表格中新增一行 -->任意选中表格中的一行(默认一般选择最后一行) --&…

深入C语言:文件操作实现局外影响程序

一、什么是文件 文件其实是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。 文件一般讲两种:程序文件和数据文件: 程序文件:包括源程…

模拟IC设计实践教程(入门)

一、教学大纲 二、芯片设计及量产总体流程 芯片需求分析:即产品定义,功能要求,性能要求工艺选择及评估:不同工艺特性相差较大,不同工艺的成本也是不同的。主要用于评估工艺的性价比,工艺提供的元器件能不能…

pip install 过程中报错:Microsoft Visual C++ 14.0 is required.

这是因为电脑中缺少这个组件导致的,我们将这个组件安装上即可解决问题。 安装报错关键信息:Microsoft Visual C++ 14.0 is required. 目录 一、下载组件 二、 安装步骤 一、下载组件 阿里网盘:VisualStudioSetup.exe:

绝地求生:季后赛名额确定!NH战队总积分榜排名第一!

2024年5月5日,PCL春季赛常规赛第五阶段第三天比赛结束,今天打完春季赛常规赛结束,16个战队进入季后赛的名额已确定。NH战队总积分506分,总积分榜排名第一!!NH战队也是唯一一支总积分超过500分的队伍。今天最…

LabVIEW自动机械变速器(AMT)开发

LabVIEW自动机械变速器(AMT)开发 在现代汽车工业中,提升车辆的自动化水平和驾驶体验是一个不断追求的目标。随着技术的发展,自动机械变速器(AutomatedMechanical Transmission, AMT)凭借其较高的能效和较低…