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

相关推荐
文牧之1 小时前
Oracle RAC 中的 RBAL 进程
运维·数据库·oracle
意倾城4 小时前
DockerFile实战
docker
斯普信专业组7 小时前
Apidog MCP服务器,连接API规范和AI编码助手的桥梁
运维·服务器·人工智能
wayuncn7 小时前
深度解析物理机服务器故障修复时间:影响因素与优化策略
运维·服务器·物理机·服务器租用·服务器托管·物理服务器·哈尔滨idc
人间不清醒ab8 小时前
Ubuntu ping网络没有问题,但是浏览器无法访问到网络
linux·运维·ubuntu
黄暄8 小时前
Docker项目部署深度解析:从基础命令到复杂项目部署
运维·笔记·docker·容器·持续部署
秦jh_8 小时前
【Linux网络】传输层协议UDP
linux·运维·服务器·网络·udp
饼干ovo9 小时前
Linux下软件安装实战
linux·运维·服务器
2302_799525749 小时前
【Linux】第十八章 调优系统性能
linux·运维·服务器
上海云盾-高防顾问9 小时前
DDoS与CC攻击:谁才是服务器的终极威胁?
运维·服务器·ddos