dockerfile镜像制作

镜像的制作方式

基于容器(现有的镜像)创建镜像

基于现有镜像创建主要使用 docker commit 命令,即把一个容器里面运行的程序以及该 程序的运行环境打包起来生成新的镜像

docker commit [选项] 容器ID/名称 仓库名称:[标签]-m说明信息;
-a作者信息;
-p生成过程中停止容器的运行。[root@bogon ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS     NAMES
c4f11e1e291c   nginx:latest   "/docker-entrypoint.…"   4 seconds ago   Up 2 seconds   80/tcp    mynginx
[root@bogon ~]# docker commit -m "new nginx" -a "LiChuang" mynginx mynginx:1.0
sha256:0a817de5a6dbc2fa1775e78110f25ffb9d51e76151afff6912147ed868c73aee
[root@bogon ~]# docker images mynginx
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mynginx      1.0       0a817de5a6db   7 seconds ago   187MB

基于模板创建镜像

 通过导入操作系统模板文件可以生成镜像,模板可以从 OPENVZ 开源项目下载,下载地址为 http://openvz.org/Download/template/precreated

下面是使用 docker 导入命令将下载的 debian 模板压缩包导入为本地镜像

[root@bogon ~]# wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz
[root@bogon ~]# cat debian-7.0-x86-minimal.tar.gz | docker import - debian:new
sha256:234c82524631e98feb5e54fbab7dca81bf275617c39b85de49a246c54d86438e
[root@bogon ~]# docker images debian
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
debian       new       234c82524631   2 minutes ago   215MB

基于Dockerfile创建镜像

除了手动生成 Docker 镜像之外,可以使用 Dockerfile 自动生成镜像。Dockerfile 是由一 组指令组成的文件,其中每条指令对应 Linux 中的一条命令,Docker 程序将读取Dockerfile 中 的指令生成指定镜像。

     Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

dockerfile常用指令

指令

含义

FROM 镜像

指定新镜像所基于的镜像,第一条指令必须为FROM指令,每创建一个镜像就需要一条FROM指令。

MAINTAINER 名字

说明新镜像的维护人信息

RUN 命令

在所基于的镜像上执行命令,并提交到新的镜像中

CMD[“要运行的程序“,”参数1,“参数2“]

指令启动容器时要运行的命令或者脚本,Dockerfile只能有一条CMD命令,如果指定多条则只能最后一条被执行

EXPOSE 端口号

指定新镜像加载到Docker时要开启的端口

ENV 环境变量 变量值

设置一个环境变量的值,会被后面的RUN使用

ADD 源文件/目录 目标文件/目录

将源文件复制到目标文件,源文件要与Dockerfile位于相同目录中,或者是一个URL

COPY 源文件/目录 目标文件/目录

将本地主机上的文件/目录复制到目标地点,源文件/目录要与Dockerfile在相同的目录中

VOLUME [“目录“]

在容器中创建一个挂载点

USER 用户名/UID

指定运行容器时的用户

WORKDIR 路径

为后续的RUN、CMD、ENTRYPOINT指定工作目录

ONBUILD 命令

指定所生成的镜像作为一个基础镜像时所要运行的命令

HEALTHCHECK

健康检查

构建nginx镜像

mkdir /nginx
wget -P /nginx/ http://nginx.org/download/nginx-1.15.2.tar.gzcat >> /nginx/Dockerfile << EOF
FROM centos:7.6.1810
RUN yum -y install gcc make pcre-devel zlib-devel tar zlib
ADD nginx-1.15.2.tar.gz /usr/src/
RUN cd /usr/src/nginx-1.15.2 \\
&& mkdir /usr/local/nginx \\
&& ./configure --prefix=/usr/local/nginx && make && make install \\
&& ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/RUN rm -rf /usr/src/nginx-1.15.2
EXPOSE 80 
EXPOSE 443CMD ["nginx","-g","daemon off;"]
EOFdocker build -t nginx:1.0 .docker run -d -p 80:80 --name nginx nginx:kgc

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

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

相关文章

芯片验证 | FPGA 原型验证

更多完整内容访问&#xff1a;【芯片验证 | FPGA 原型验证】

数据分析-相关性

0、提高数据样本质量 首先是确保数据采集的准确性与可靠性&#xff0c;也就是如何降低数据误差 系统误差是由测量工具不精确和测量方法选择不当造成的。这类误差我们可以通过校准工具或者选择更合适的测量方法来消除&#xff1b;随机误差是由环境因素等外部不可控原因导致的&…

MyBatis 源码分析--获取SqlSession

前言&#xff1a; 前文我们从源码层面梳理了 SqlSessionFactory 的创建过程&#xff0c;本篇我们继续分析一下 SqlSession 的获取过程。 初识 MyBatis 【MyBatis 核心概念】 案例代码&#xff1a; public class MyBatisTest {Testpublic void test() throws IOException {/…

Clickhouse监控_监控的指标以及Grafana配置Clickhouse指标异常时触发报警

使用PrometheusGrafana来监控Clickhouse服务和性能指标 Clickhouse监控指标的官方文档https://clickhouse.com/docs/zh/operations/monitoring 建议使用PrometheusGrafana组合监控Clickhouse服务和性能指标&#xff0c;数据流向&#xff1a;Prometheus的clickhouse_exporter组件…

【短剧看剧系统之投流版】短剧看剧系统功能更新,前端uniapp搭建开发

目录 一、常规款短剧系统和投流版的区别&#xff1f; 二、后端体系 1.管理端&#xff1a; 2.代理投流端 三、功能区别 总结&#xff1a; 前言&#xff1a; 短剧看剧系统目前在抖音端是比较热门的&#xff0c;最重要的功能就是可以接入第三方cps&#xff0c;包含类目报白…

1. ELK日志分析

ELK日志分析 一、ELK作用、组件1、作用2、核心组件2.1 beat软件2.1 Logstash2.2 Elasticsearch2.3 Kibana 二、ELK部署、测试1、环境规划2、确保SELinux关闭、时间同步3、所有主机添加主机名解析4、三台ES主机安装jdk 1.155、调整系统资源限制6、部署es集群6.1 创建普通用户elk…

Java中的面向对象设计原则与实践

Java中的面向对象设计原则与实践 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 引言 面向对象设计原则是软件工程中的重要概念&#xff0c;它们指导着我们如…

FastAdmin数据库设计规范

FastAdmin数据库设计规范,官方文档上也有&#xff0c;仅仅是为了我自己做一次笔记增加记忆强度 表名和字段名全小写,只允许出现a-z和_这几种字符&#xff0c;且不能有拼音&#xff0c;只能为英文单词存储引擎统一使用innodb引擎字符集统一使用utf8mb4&#xff0c;排序规则使用…

瑞尼克定制聚四氟乙烯布氏漏斗配抽滤瓶四氟抽滤装置药厂

一、产品介绍 布氏漏斗是实验室中使用的一种仪器&#xff0c;用来使用真空或负压力抽吸进行过滤。布氏漏斗可代替陶瓷布氏漏斗&#xff0c;避免碎裂&#xff0c;聚四氟乙烯材质的布氏漏斗性强&#xff0c;使用真空或负压力抽吸进行过滤也可与吸滤瓶配套&#xff0c;用于无机制…

面试计算机网络八股文十问十答第十一期

面试计算机网络八股文十问十答第十一期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;JWT Token 听过吗&am…

前端判断电脑是否断网 并且在重连的时候发请求给后端记录

用electron 打包的电脑软件 加了一个断网提示和联网发请求给后端做记录 <!DOCTYPE html> <html lang""><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta nam…

基于振弦采集仪的高速公路路基工程安全监测技术研究

基于振弦采集仪的高速公路路基工程安全监测技术研究 高速公路是现代交通系统的重要组成部分&#xff0c;对于保障人民生命财产安全以及经济社会发展起着至关重要的作用。然而&#xff0c;由于高速公路长期承受车辆的运行荷载和自然环境的影响&#xff0c;路基工程的安全问题一…

gma 2 教程(三)坐标参考系统:4.内置单位和子午线

安装 gma&#xff1a;pip install gma 内置单位 gma内置单位主要包括地理坐标系的角度单位和投影坐标系的线性单位两大类。 角度单位 内置常用的角度单位&#xff08;在crs.AngularUnits下&#xff09;名称及值见下表&#xff1a; 内置角度单位中文名值&#xff08;弧度&…

众筹首发 | 当当狸智能天文望远镜TW2,大屏实时观景 长焦定格远方!

满天的繁星和远方景色&#xff0c;让人无比向往&#xff0c;你是否也曾渴望探索星空的奥秘&#xff0c;沉醉在无垠的美景之中&#xff1f; 然而&#xff0c;当我们用望远镜远眺星空时&#xff0c;固定姿势的观测经常让人感到疲惫&#xff0c;而普通相机亦是难以触及更远的距离…

nodejs爬取小红书图片

昨天的文章已经描述了可以抓取评论区内容&#xff0c; 抓取图片内容和抓取评论区的内容基本一致 我们可以看到接口信息中含有图片链接&#xff0c;我们要做的就是爬取图片链接然后下载 这边要用到的模块为const downloadrequire(download) 将爬到的图片链接存放到images数组…

绝杀 GETPOST 嵌套的 JSON 参数

JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;常用于Web应用程序中的数据传输。在HTTP数据包信息传递时&#xff0c;JSON扮演着非常正常的角色&#xff0c;因为它是一种通用的数据格式&#xff0c;可以被多种编程语言和应用程…

Kimichat使用案例019:15个Kimichat提示词案例

文章目录 一、扮演招聘经理二、扮演英语教师三、文章修改润色四、模仿特定作者写文章五、扮演任何一个角色六、像董宇辉一样介绍一本书七、写商业计划书的大纲八、头脑风暴九、总结文章十、推荐书籍十一、写电子邮件十二、学习Python编程十三、Python编程十四、制作菜谱十五、写…

前端 JS 经典:Vue 状态仓库持久化

前言&#xff1a;当我们刷新页面的时侯&#xff0c;在状态仓库的数据会被重置&#xff0c;当我们不希望这些数据被重置时&#xff0c;可以通过给状态管理的插件添加插件方法实现。Vue 的状态管理有 Vuex 和 Pinia。下面分别是两种状态库的数据持久化的实现。 1. Vuex 在 stor…

三、map可迭代对象中的每个函数应用函数

函数map&#xff08;&#xff09;的使用 def square(x):return x **2#函数方法 numbers[1,2,3,4,5,6,7,8,9] #print(list(map(square,numbers))) clist(map(square,numbers))#转换为列表 print(c)

网格布局之重复轨道

网格布局之重复轨道 欢迎关注&#xff1a;xssy5431 小拾岁月 参考链接&#xff1a;https://mp.weixin.qq.com/s/FQboZRMhdOFWqVDZ5JScDg 点击查看 使用场景 在网页开发中&#xff0c;我们尝尝会遇到宫格布局&#xff0c;比如&#xff1a;3 * 3&#xff0c;4 * 4布局等等。 …