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

环境准备:

  • 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.mzph.cn/pingmian/7273.shtml

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

相关文章

27.leetcode---随机链表的复制(Java版)

题目链接: https://leetcode.cn/problems/copy-list-with-random-pointer/description/ 题目解析: 使用map来解这个题就比较方便了 代码: 测试:

论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

目前各类大模型都支持长文本,例如 kimi chat 以及 gemini pro,都支持 100K 以及更高的上下文长度。但越长的上下文,在推理过程中需要存储的 kv cache 也越多。假设,数据的批次用 b 表示,输入序列的长度仍然用 s 表示&a…

【typescript测试 - Jest 配置与使用】

安装 npm install --save-dev types/jestnpm install --save-dev ts-jest配置 tsconfig.json {"compilerOptions": {"types": ["jest"]} }jest.config.js module.exports {preset: ts-jest,testEnvironment: node, };使用 // add.js funct…

C++学习笔记——对仿函数的理解

文章目录 思维导图仿函数出现的逻辑仿函数使用上的巧妙 仿函数的本质仿函数的优势仿函数语法的巧妙 思维导图 仿函数出现的逻辑 我们在学习stack时会遇到一些新的问题,这些问题需要我们使用非类型模板参数去解决,即我们需要在设计类时需要有一个途径去快…

Android硬件加速hardwareAccelerated支持/不支持的绘图接口

Android硬件加速hardwareAccelerated支持/不支持的绘图接口 Android硬件加速也即在Androidmanifest.xml配置开启GPU渲染&#xff1a; <application android:hardwareAccelerated"true" > 配置后&#xff0c;Android将启用GPU渲染&#xff0c;在trace里面看会…

clang:在 Win10 上编译 MIDI 音乐程序(一)

先从 Microsoft C Build Tools - Visual Studio 下载 1.73GB 安装 "Microsoft C Build Tools“ 访问 Swift.org - Download Swift 找到 Windows 10&#xff1a;x86_64 下载 swift-5.10-RELEASE-windows10.exe 大约490MB 建议安装在 D:\Swift\ &#xff0c;安装后大约占…

Docker新建容器 修改运行容器端口

一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的89 端口 映射 容器端口80 3.1测试环境中新建nginx服务 docker run -itd --n…

打破 AI 算力天花板,Meta超大规模AI基础设施架构解读

Meta超大规模AI智算基础设施架构设计 摘要 双重 GPU 集群&#xff0c;每群配备 2.4 万个 H100 芯片&#xff0c;分别采用 RoCE 和 InfiniBand 网络连接。LLaMA3 就是在这两个集群上训练出来的&#xff1b;Meta AI 将部署庞大算力集群&#xff0c;拥有 35 万张 H100 GPU&#x…

【C语言】第一个C程序:hello world

printf简介 printf是C语言提供的库函数&#xff0c;可以在屏幕上打印格式化数据。这里不作展开&#xff0c;只需要知道&#xff0c;如果要打印hello world&#xff0c;就把双引号引起来的"hello world"作为参数传给printf就行了。如果想要在打印后换行&#xff0c;要…

数据分析之Tebleau可视化:树状图、日历图、气泡图

树状图&#xff08;适合子分类比较多的&#xff09; 1.基本树状图的绘制 同时选择产品子分类和销售金额----选择智能推荐----选择树状图 2.双层树状图的绘制 将第二个维度地区拖到产品分类的下面---大的划分区域是上面的维度&#xff08;产品分类&#xff09;&#xff0c;看着…

牛客热题:单链表排序

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 牛客热题&#xff1a;单链表排序题目链接方法一&…

如何压缩word文档的大小?6个方法教你方便的压缩word文档

如何压缩word文档的大小&#xff1f;6个方法教你方便的压缩word文档 以下是六个常用的软件和方法&#xff0c;可以帮助您方便地压缩Word文档大小&#xff1a; 使用Microsoft Word内置功能&#xff1a; 在Microsoft Word中&#xff0c;您可以使用内置的压缩功能来减小文档的大…

Celery(分布式任务队列)入门学习笔记

Celery 的简单介绍 用 Celery 官方的介绍&#xff1a;它是一个分布式任务队列; 简单&#xff0c;灵活&#xff0c;可靠的处理大量消息的分布式系统; 它专注于实时处理&#xff0c;并支持任务调度。 Celery 如果使用 RabbitMQ 作为消息系统的话&#xff0c;整个应用体系就是下…

25.哀家要长脑子了---哈希表

1.525. 连续数组 - 力扣&#xff08;LeetCode&#xff09; 在我对通义千问的一番折磨下&#xff0c;终于弄清楚一点点了。哈希表存储前缀和数组值 用一个counter来记录nums中0、1数量差值的变化。 哈希表map存储某个特定的counter值首次出现的位置。counter的计算&#xff1a;…

【深度学习】序列模型

深度学习&#xff08;Deep Learning&#xff09;是机器学习的一个分支领域&#xff1a;它是从数据中学习表示的一种新方法&#xff0c;强调从连续的层中进行学习&#xff0c;这些层对应于越来越有意义的表示。 1. 为什么选择序列模型&#xff1f; 循环神经网络&#xff08;RNN…

(二)JSP教程——taglib指令

创建标签文件 首先创建一个Web项目&#xff0c;在webapp/WEB-INF目录下创建一个tags文件夹 在tags文件夹中创建一个oddNumberSum.tag文件&#xff0c;Tag文件时扩展名为.tag的文本文件&#xff0c;其结构和JSP文件非常相似&#xff0c;该文件的目录结构如图所示 创建Tag文件的…

Linux基础之makefile/make

目录 一、背景 二、makefile和make的讲解 2.1 使用方法 2.2 伪目标文件 2.3 文件的属性以及属性的更新 2.4 makefile的自动推导 一、背景 这里会提及为什么要使用makefile和make&#xff0c;以及他们是什么和作用。 会不会写makefile&#xff0c;从一个侧面说明了一个人是…

怎么口语外教一对一课程?这篇文章告诉你答案!

怎么口语外教一对一课程&#xff1f;在当今全球化的时代&#xff0c;英语口语能力已经成为许多人追求的重要技能。为了满足这一需求&#xff0c;市场上涌现出了许多提供一对一口语外教课程的软件。这些软件不仅提供了与母语为英语的外教进行实时交流的机会&#xff0c;还通过互…

遭遇.halo勒索病毒怎么办?如何识别和应对.halo勒索病毒

导言&#xff1a; 近年来&#xff0c;网络安全问题愈发严峻&#xff0c;其中勒索病毒成为了威胁企业和个人数据安全的重要隐患。在2023年初&#xff0c;一种新的勒索病毒——.halo勒索病毒开始在网络上肆虐&#xff0c;给广大用户带来了极大的困扰。本文91数据恢复将对.halo勒…

c3 笔记6 认识css样式表

<link>与import应该如何选择?事实上&#xff0c;使用link与import链接外部样式文件的效果看起来是一样的&#xff0c;区别在于<link>是HTML标记而import属于CSS语法。<link>标记有rel、type与href属性&#xff0c;可以指定CSS样式表的名称&#xff0c;这样就…