Docker的分解分析

一、Docker的镜像构建文件Dockerfile,以下是Dockerfile中的一些指令。

二、RUN、CMD和ENTRYPOINT可以通过Shell和Exec方式运行命令,CMD和ENTRYPOINT推荐使用Exec格式,其可读性更强。

1、shell格式

RUN yum install -y vim

CMD echo "hello zhurs"

ENTRYPOINT echo "hello zhurs"

#运行容器时返回如下结果

hello zhurs

当指令执行时,Shell格式会调用/bin/sh -c [command]

2、Exec格式

【"executable","param1","param2"...】

RUN ["yum","install","-y","vim"]

CMD ["bin/echo","zhurs"]

ENV wd world

ENTRYPOINT ["bin/echo","hello,$wd"]

#运行容器时返回如下结果

hello $wd

如果想要使用环境变量,可做如下操作

RUN ["yum","install","-y","vim"]

CMD ["bin/echo","zhurs"]

ENV wd world

ENTRYPOINT ["bin/sh","-c","/bin/echo","hello, $wd"]

#此时就会返回如下结果

hello world

RUN指令通常用于安装应用和软件包,每条RUNzhi

相关推荐
Trouvaille ~13 小时前
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
linux·运维·服务器·c++·算法·线程·互斥锁
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.13 小时前
Keepalived 双主(Active‑Active)模式
运维·服务器
HalvmånEver13 小时前
Linux:进程 vs 线程:资源共享与独占全解析(线程四)
java·linux·运维
xuefuhe13 小时前
Docker常用命令
docker
云草桑14 小时前
15分钟快速了解 Odoo
数据库·python·docker·postgresql·.net·odoo
zzzsde14 小时前
【Linux】进程(2):进程概念与操作理解
linux·运维·服务器
天才奇男子14 小时前
《深度解析HAProxy七层代理:原理、配置与最佳实践》
linux·运维·微服务·云原生
春日见14 小时前
Autoware使用教程
大数据·人工智能·深度学习·elasticsearch·搜索引擎·docker·容器
交换机路由器测试之路14 小时前
交换机专题:什么是ALS(激光器自动关断)
运维·网络·以太网·交换机·节能
浪客灿心14 小时前
Linux的Ext系列文件系统
linux·运维·服务器·c语言