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

相关推荐
鸡鸭扣17 分钟前
25年春招:米哈游运维开发一面总结
运维·面试·求职招聘·运维开发·面经·sre·米哈游
Auv开心18 分钟前
ubuntu22.04和ubuntu20.04 的ssh配置不然repo init失败
运维·ssh
SZ17011023131 分钟前
IGP(Interior Gateway Protocol,内部网关协议)
运维·服务器·gateway
天外来物39 分钟前
实战分享:用CI/CD实现持续部署
前端·nginx·docker
moxiaoran575340 分钟前
Spring Cloud Gateway 动态路由实现方案
运维·服务器·前端
运维日常手记1 小时前
最新1.33.1 k8s高可用集群搭建(免翻墙)
运维
星哥说事1 小时前
开源综合性网络安全检测和运维工具-TscanClient
运维·web安全·开源
_板栗_2 小时前
k8s 中 cpu 核数的理解
云原生·容器·kubernetes
谷新龙0012 小时前
docker compose搭建elk 8.6.2
elk·docker·容器
运维成长记2 小时前
阿里云实践创建实例步骤
linux·运维·服务器·阿里云·云计算