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

Docker打包镜像

Docker打包镜像

前置工作

 1.虚拟机中配置好docker环境,并导入nginx,mysql,jdk的镜像

2.下载docker for windows

用idea打包镜像和创建容器需要这个东西支持

下载安装包后执行,无脑回车即可

3.idea中配置docker连接

 

 

 

完成配置后,点开docker连接,可以看到如下内容

简单介绍一下,可以通过镜像创建容器。

镜像相当于一个配方,容器相当于菜肴,通过一个秘方可以创建无数个菜肴,同理:通过指定镜像可以创建无数个容器。

每个容器相当于一个小型linux机器,它只包含最基本的功能(内核级功能),用一句话形容就是:麻雀虽小五脏俱全。

4.将我们的工程打成一个jar包

1.首先,修改pom文件中的skip标签的值为false

否则他会跳过打包我们的启动类,在执行java -jar时会报如下错误 

2.执行命令  mvn -clean      mvn -package

也可以在界面执行

打包好会生成一个target文件夹,我们的jar包在这个文件夹里面 

两种打包镜像的方式

手动打包(不推荐,应急情况下使用)

1.写Dockerfile文件
# 基于jdk17以上 的镜像创建
FROM openjdk:17-jdk-alpine# 将编译后的文件复制到镜像中,用于运行
# 参数1 jar包所在位置(目录+文件名)
# 参数2 给这个jar起别名  用别名是为了移植方便
ADD target/TestDockerDB01-0.0.1-SNAPSHOT.jar /app.jar# 设置启动命令
ENTRYPOINT ["java","-jar","/app.jar"]
2.将jar包和Dockerfile文件通过ftp工具上传到虚拟机

3. 通过命令打包镜像

命令格式

docker build -t   镜像名:版本号   Dockerfile所在的地址

执行命令报错,这是因为当我们把jar包移到虚拟机后,它所在的位置就不是target/TestDockerDB01-0.0.1-SNAPSHOT.jar了 

这时候我们通过vi Dockerfile去修改文件

再一次检查一下jar包和Dockerfile文件的位置,重新执行命令

创建镜像成功

idea中也能看到我们刚刚创建的镜像 

通过idea打包

回到Dockerfile文件,进行配置

 把Dockerfile跑起来,这里我们选择第一个,创建镜像和容器

创建成功后会自动启动容器

相关文章:

Docker打包镜像

Docker打包镜像 前置工作 1.虚拟机中配置好docker环境,并导入nginx,mysql,jdk的镜像 2.下载docker for windows 用idea打包镜像和创建容器需要这个东西支持 下载安装包后执行,无脑回车即可 3.idea中配置docker连接 完成配置后&…...

RabbitMQ 基础架构流程 数据隔离 创建用户

介绍 publisher:消息发送者-exchange:交换机,复制路由的消息-queue:队列,存储消息consumer:消息的消费者 工作流程 publisher消息发送者 -> exchange 交换机 -> queue 队列 -> consumer 消息的消…...

win10系统下openssl证书生成和单向认证

文章目录 前言一、安装openssl二、创建证书目录和必要文件1、创建sslcertTest文件夹2、创建openssl.cnf文件3、创建必要文件 三、创建密钥和证书1、创建根证书私钥ca.key2、创建根证书请求文件ca.csr3、创建自签根证书ca.crt4、创建服务端私钥server.key5、创建服务端证书请求文…...

动态规划的解题思想

1. 从斐波那契数列说起 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始, ,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0, F(2) 1 F(n) F&…...

OpenCV结构分析与形状描述符(10)检测并提取轮廓函数findContours()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在二值图像中查找轮廓。 该函数使用算法 253从二值图像中检索轮廓。轮廓是有用的工具,可用于形状分析和对象检测与识别。参见 OpenC…...

HBase 源码阅读(二)

衔接 在上一篇文章中,HMasterCommandLine类中在startMaster();方法中 // 这里除了启动HMaster之外,还启动一个HRegionServerLocalHBaseCluster cluster new LocalHBaseCluster(conf, mastersCount, regionServersCount,LocalHMaster.class, HRegionSer…...

深度学习每周学习总结N9:transformer复现

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 多头注意力机制前馈传播位置编码编码层解码层Transformer模型构建使用示例 本文为TR3学习打卡,为了保证记录顺序我这里写…...

数据结构与算法(3)栈和队列

1.前言 哈喽大家好啊,今天博主继续为大家带来数据结构与算法的学习笔记,今天是关于栈和队列,未来博主会将上一章《顺序表与链表》以及本章《栈与队列》做专门的习题应用专题讲解,都会很有内容含量 ,欢迎大家多多支持&…...

11、Django Admin启用对计算字段的过滤

重新定义admin.py中的Hero管理模型如下: admin.register(Hero) class HeroAdmin(admin.ModelAdmin):list_display ("name", "is_immortal", "category", "origin", "is_very_benevolent")list_filter ("…...

xxl-job升级到springboot3.0 导致页面打不开报错)问题

原因:springboot3.0 因为移除了jsp 导致xxl-job不能访问,解决方法如下 1、修改PermissionInterceptor拦截器 package com.xxl.job.admin.controller.interceptor;import com.xxl.job.admin.controller.annotation.PermissionLimit; import com.xxl.job.…...

栈和队列.

目录 1. 栈(Stack) 2. 栈的模拟实现 3. 栈的应用场景 4. 队列(Queue) 5. 队列的模拟实现 6. 循环队列 7. 双端队列(Deque) 8. 面试题 1. 栈(Stack) 栈:一种特殊…...

Parallel.ForEach - 并行处理

Parallel.ForEach 是 C# 中 System.Threading.Tasks.Parallel 类提供的一个方法,用于并行地迭代集合中的每一个元素。Parallel.ForEach 方法允许多个线程同时处理集合中的元素,从而提高程序的执行效率,特别是在处理大量数据或执行耗时任务时。…...

【MySQL】初识MySQL—MySQL是啥,以及如何简单操作???

前言: 🌟🌟本期讲解关于MySQL的简单使用和注意事项,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/wwaqe 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 目…...

LLM应用实战: 产业治理多标签分类

数据介绍 标签体系 产业治理方面的标签体系共计200个,每个标签共有4个层级,且第3、4层级有标签含义的概括信息。 原始数据 企业官网介绍数据,包括基本介绍、主要产品等 企业专利数据,包括专利名称和专利摘要信息,且专…...

下载Mongodb 4.2.25 版本教程

1、MongoDB 安装包的下载链接 Download MongoDB Community Server | MongoDB 进入如下截图: 2、查找历史版本 往下拉,点击“...”,找到”Archived releases”,点击进入 、 3、下载Mongodb 4.2.25 版本 找到如下图4.2.25版本下载链接,点击就可…...

docker拉取redis5.0.5并建立redis集群

1.配置文件 mkdir -p redis-cluster/7001/ mkdir -p redis-cluster/7002/ mkdir -p redis-cluster/7003/ mkdir -p redis-cluster/7004/ mkdir -p redis-cluster/7005/ mkdir -p redis-cluster/7006/cd redis-clustervim 7001/redis.confbind 0.0.0.0port 7001cluster-enabled…...

React16新手教程记录

文章目录 前言一些前端面试题1. 搭建项目1. 1 cdn1. 2 脚手架 2. 基础用法2.1 表达式和js语句区别:2.2 jsx2.3 循环map2.4 函数式组件2.5 类式组件2.6 类组件点击事件2.6.1 事件回调函数this指向2.6.2 this解决方案2.6.2.1 通过bind2.6.2.2 箭头函数(推荐…...

怎么摆脱非自然链接?

什么是非自然链接? 非自然链接是人为创建的链接,用于操纵网站在搜索引擎中的排名。非自然链接违反了Google 的准则,网站可能会因此受到惩罚。 它们不是由网站所有者编辑放置或担保的。示例包括带有过度优化锚文本的链接、通过 PR 的广告、嵌…...

【2024数模国赛赛题思路公开】国赛B题第二套思路丨附可运行代码丨无偿自提

2024年数模国赛B题解题思路 B 题 生产过程中的决策问题 一、问题1解析 问题1的任务是为企业设计一个合理的抽样检测方案,基于少量样本推断整批零配件的次品率,帮助企业决定是否接收供应商提供的这批零配件。具体来说,企业需要依据两个不同…...

P1166 打保龄球

共可以投 1 局 一局10轮 在一局中,一共有十个柱,会出现很多种情况。 第1次把10个 打倒全部 >> 分数10后2次得分 --若是第10轮则还需另加两次滚球; 没全部打倒 >> 第2次把剩下的 打倒 >&g…...

解决网易云音乐加密NCM文件播放限制的完整实践指南

解决网易云音乐加密NCM文件播放限制的完整实践指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经遇到过这样的情况:从网易云音乐下载的…...

现代Qt开发——入门 · 环境搭建 · 00 · Qt6 安装踩坑指南

现代Qt开发——入门 环境搭建 00 Qt6 安装踩坑指南 相关仓库仍然已经开源,正在积极火热的建设之中,欢迎各位大佬提Issue和PR! 链接地址:https://github.com/Awesome-Embedded-Learning-Studio/Tutorial_AwesomeQt 1. 前言&…...

别再傻傻分不清!一张图看懂PMOS、NMOS和CMOS在电路设计中的真实区别

从物理特性到电路设计:PMOS、NMOS与CMOS的实战解析 在电子工程领域,MOSFET晶体管就像乐高积木一样构成了现代集成电路的基础模块。但面对PMOS、NMOS这对"双胞胎"时,许多初学者常常陷入困惑——为什么数字电路总爱用CMOS结构&#x…...

Android OTA包极速提取:payload-dumper-go完整实战指南 [特殊字符]

Android OTA包极速提取:payload-dumper-go完整实战指南 🚀 【免费下载链接】payload-dumper-go an android OTA payload dumper written in Go 项目地址: https://gitcode.com/gh_mirrors/pa/payload-dumper-go payload-dumper-go是一款专为Andro…...

C++ 文件 IO 性能优化技巧

C文件IO性能优化技巧 在软件开发中,文件IO操作往往是性能瓶颈之一,尤其是处理大文件或高频读写时。C作为一门高性能语言,提供了多种优化文件IO的方法,合理运用这些技巧可以显著提升程序效率。本文将介绍几种实用的C文件IO性能优化…...

C#基于S7.Net组件实现西门子PLC通信上位机功能说明

C#与西门子plc通讯上位机 c#软件 工控软件 1.该程可以实现CSharp与西门子全系列plc(200,200smart,300,1200,1500)的以太网s7通讯,通讯传输快稳定。 2.该程序采用s7以太网通讯方式,本人经过几个星期的测试&…...

哈希表入门教程:从零搭建完整结构

一、什么是哈希表?1.核心定义哈希表 数组 哈希函数 冲突解决哈希表是一种通过哈希函数将「键(Key)」映射到「索引(Index)」,从而实现O (1) 平均时间复杂度查找、插入、删除的数据结构。2.核心三要素&…...

5个实用场景展示:用Phi-3-mini轻松搞定文本改写与摘要整理

5个实用场景展示:用Phi-3-mini轻松搞定文本改写与摘要整理 1. 引言:为什么选择Phi-3-mini进行文本处理 在日常工作和学习中,我们经常需要处理各种文本任务:改写句子使其更专业、总结长篇文章的要点、快速生成内容草稿等。传统方…...

16.2【保姆级教程】 C语言八进制+十六进制保姆级详解 _ 底层开发必吃透

🔥C语言八进制十六进制保姆级详解 | 底层开发必吃透📢 关注博主不迷路!全网最细C语言八进制、十六进制教程,从定义到实操、从转换到应用,新手零门槛上手,底层开发/面试必看!在C语言底层开发中&a…...

Nginx性能优化-压缩

但很多开发者在配置nginx时容易混淆两个概念:Gzip动态压缩和Gzip静态压缩。本文将带你彻底搞懂这两者的区别、配置方法以及最佳实践。什么是Gzip动态压缩?原理: 当客户端(浏览器)发起请求时,Nginx接收到请求…...