docker(六)--创建镜像

news2024/9/28 9:30:51

六、创建镜像

1.创建镜像两种方式

方式1: 更新镜像 docker commit

方式2:构建镜像 docker build

2.更新镜像

1)用法

docker commit -m=“描述信息” -a=作者 容器id或者容器名 镜像名:tag

2)步骤

①根据镜像运行容器
②进入容器、修改内容
③提交为新镜像、查看镜像变更历史-docker history 镜像id
④用新镜像运行容器

3.构建镜像

1.使用Dockerfile构建镜像的步骤

1) 编写 Dockerfile文件

2) build构建镜像

docker build -f Dockerfile文件的路径 -t 镜像名:tag 命令执行的上下文

3) 基于新镜像运行容器

2.常用指令

1)FROM 指定基础镜像

FROM openjdk:8jdk

2)MAINTAINER指定作者

MAINTAINER tester

3)RUN指定镜像构建过程中要运行的命令

RUN mkdir -p /test/data

4)CMD指定容器启动时默认要运行的命令

CMD JAVA -jar gift-0.0.1-SNAPSHOT.jar

cmd在构建时并不运行,在docker run运行
dockerfile中只能写一条CMD指令,如果写了多条,只有最后一条生效

5)ENV设置环境变量

格式ENV key value
ENV CATALINA_HOME /usr/local/tomcat
在这里插入图片描述

6)WORKDIR 进入容器后的目录–不指定,默认就是/

目录先要创建好,RUN mkdir -p “$CATALINA_HOME”

WORKDIR $CATALINA_HOME

在这里插入图片描述

7)COPY 被拷贝文件要和Dockerfile在同一个目录下

COPY arthas-boot.jar /usr/skywalking/agent/
COPY arthas-packaging-3.5.1-bin.zip /usr/skywalking/agent/

8)ADD拷贝文件到容器中指定目录,压缩文件会自动解压缩

ADD apache-tomcat-9.0.19.tar.gz /usr/local/

9)EXPOSE声明暴露的端口

3.示例:

3.1 用Dockerfile实现 docker commit中示例,修改tomcat后,打一个新镜像

步骤一:编写Dockerfile文件
FROM tomcat
MAINTAINER tester
RUN echo " "> /usr/local/tomcat/webapps/ROOT/index.jsp

步骤二:
docker build -f Dockerfile -t tomcat:v3 .

步骤三:
docker run --name=“tomcat3” -p 38080:8080 -d tomcat:v3

3.2基于openjdk,将gift打到镜像中

vim Dockerfile
FROM openjdk:8-jdk
COPY gift-0.0.1-SNAPSHOT.jar /
EXPOSE 8096
CMD java -jar gift-0.0.1-SNAPSHOT.jar

docker build -f Dockerfile -t gift:v2 .

docker run --name gift2 -p 28096:8096 -d 4a9edcc433e5

jmeter发请求
get
/qzcsbj/gift/order/findByOrderNumber?order_number=123456

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

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

相关文章

PHP将两张图片合成一张图片代码实例(源代码)

使用PHP将两张图片合成一张图片可以通过GD库来实现。下面是一个示例代码,展示如何将两张图片合成一张图片: 加载两张图片。获取每张图片的宽度和高度。创建一个新的空白图片,其宽度是两张图片宽度的和,高度是两张图片中较大的高度…

酒店民宿小程序:酒店民宿便利预订,提高收益!

在旅游业发展旺盛时期,酒店民宿也得到了快速发展。随着移动互联网的发展,人们逐渐在手机上预订酒店民宿,这给酒店民宿小程序的发展提供了用户基础,为大众出行带来了更多的便利。 酒店民宿小程序是一个基于微信平台的应用程序&…

PHP计件工资系统小程序源码

解锁高效管理新姿势!全面了解计件工资系统 🔥 开篇:为什么计件工资系统成为企业新宠? 在这个效率至上的时代,企业如何精准激励员工,提升生产力成为了一大挑战。计件工资系统应运而生,它以其公…

Python大数据分析——K近邻模型(KNN)

Python大数据分析——K近邻模型 数学部分模型思想模型步骤距离度量指标欧氏距离曼哈顿距离余弦相似度 K值选择 代码部分函数示例1——知识掌握程度示例2——预测发电量 数学部分 模型思想 如图所示,模型的本质就是寻找k个最近样本,然后基于最近样本做“…

qml 实现一个带动画的switch 按钮

一.效果图 》 二.qml 代码 import QtQuick 2.12 import QtQuick.Controls 2.12Switch {id: controlimplicitWidth: 42implicitHeight: 20indicator: Rectangle {id: bkRectangleanchors.fill: parentx: control.leftPaddingy: parent.height / 2 - height / 2radius: height …

C语言有哪些特点?

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的…

Linux系统日志管理服务和配置

文章目录 Linux系统日志服务rsyslog日志分类rsyslog相关文件/var/log/message重启失败分析 /var/log/secure自定义日志输出路径1.修改sshd_config配置文件2.修改rsyslog.conf3.重启服务 常见日志文件日志管理工具journalctl选项说明journalctl用法示例 日志分析实战host无法解析…

qt creator中右边的的类和对象如何显示出来

qt creator中右边的的类和对象如何显示出来? 解决方法: 鼠标右键,重置为默认布局。

未来互联网的新篇章:深度解析Web3技术

随着技术的不断演进,Web3正逐渐成为引领未来互联网发展的关键驱动力。本文将深入探讨Web3技术的核心概念、关键特征以及其对未来互联网生态的深远影响,旨在帮助读者全面理解和把握这一新兴技术的发展方向和潜力。 1. Web3的基本概念和演进 Web3并非简单…

【AI大模型】通义灵码的部署与使用

【AI大模型】通义灵码的部署与使用 目前已支持: JetBrains IDEsIDE 版本:IntelliJ IDEA、PyCharm、GoLand、WebStorm、Android Studio 等 2020.3 及以上操作系统:Windows 7 及以上、macOS、LinuxVisual Studio CodeIDE 版本:1.68.…

minio在redhat7.9上面的单节点单驱动离线安装(docker)

问题 最近需要在红帽上面离线安装minio,并且还是要离线安装到服务器中的Docker里面去。 检查服务器磁盘 # lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs xxxxsx-xxx-xxx…

软链接node_modules

公司项目很多微应用的子项目公用同一套模板,也就会使用同一个node_modules 1.先创建3个同样的项目,并安装一个其中的一个node_modules给他丢到外边 2.win r -------> cmd --------> ctrlshift enter(已管理员身份打开cmd) 3.在窗口分别执行以下代码…

【手撸RPC框架】zookeeper入门(安装+常用命令)

🐼作者简介:一名大三在校生🎋 空有想法,没有实践,难成大事 专栏前言:探索RPC框架的奥秘 简介:在现代软件开发中,随着微服务架构的普及,远程过程调用(RPC&…

Mybatis左连接的实现方式

在使用 MyBatis Plus 进行数据库操作时,我们有时需要从多个表中获取数据。这篇文章将介绍如何在 MyBatis Plus 中实现左连接查询。我们将以两个表格为例,一个是部门领导表 (system_dept_leader),另一个是用户表 (system_user),并演…

tk 对文本设置下划线

import tkinter as tkdef underline_text():# 获取当前选中的文本范围selected_text text_widget.tag_ranges(tk.SEL)if selected_text:# 如果有文本被选中tag_name "underline"# 检查选中文本是否已经有下划线if text_widget.tag_names(selected_text[0]):if &quo…

Qt | 绘制直线与 QLineF 类

点击上方"蓝字"关注我们 01、绘制直线 02、Qline和QLineF 【1】QLine 是整型版本,成员函数较少,QLineF 是精度更高的浮点型版本,本文以 QLineF 类 进行讲解。 QLineF 类提供了一个二维向量,使用 QLineF 类绘制直线可以利用该类中的成员函数方便 的对线条的属…

【EIScopus稳检索-高录用】第五届大数据与社会科学国际学术会议(ICBDSS 2024)

大会官网:www.icbdss.org 大会时间:2024年8月16-18日 大会地点:中国-上海 接受/拒稿通知:投稿后1-2周内 收录检索:EI,Scopus *所有参会者现场均可获取参会证明,会议通知(邀请函)&…

vscode里最好用的A股量化神器

shares vscode 插件A 股量化交易系统后台开发语言 Go/Python gmsec算法使用:pytorchK 线标注中意榜黄金上穿全链路量化,行业板块分析,直接贴图。欢迎体验 源码地址: GitHub - xxjwxc/shares: A-share quantitative system. A股量…

Python学习笔记35:进阶篇(二十四)pygame的使用之音频文件播放

前言 基础模块的知识通过这么长时间的学习已经有所了解,更加深入的话需要通过完成各种项目,在这个过程中逐渐学习,成长。 我们的下一步目标是完成python crash course中的外星人入侵项目,这是一个2D游戏项目。在这之前&#xff…

对接高德开放平台API

高德开放平台API: https://lbs.amap.com/ 一、天气查询 天气查询: https://lbs.amap.com/api/webservice/guide/api/weatherinfo adcode城市码表下载: https://lbs.amap.com/api/webservice/download Component public class WeatherUtil {Resourceprivate GdCon…