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 天前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
哲霖软件1 天前
ERP 赋能非标自动化行业:破解物料与库存管理难题
运维·自动化
火车叼位1 天前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
syagain_zsx1 天前
Linux指令初识(实用篇)
linux·运维·服务器
OYangxf1 天前
Git Commit Message
运维·git
Alter12301 天前
从“力大砖飞”到“拟态共生”,新华三定义AI基础设施的系统级进化
大数据·运维·人工智能
王木风1 天前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js
槑槑紫1 天前
windows系统装轻量版linux开发
linux·运维·服务器
9命怪猫1 天前
[K8S小白问题集] - Calico好在哪里?
网络·云原生·容器·kubernetes
齐潇宇1 天前
k8s-Helm管理器
linux·运维·云原生·容器·kubernetes