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

相关推荐
鹤落晴春19 分钟前
【Linux复习】管理SELinux安全性
linux·运维·服务器
梦梦代码精42 分钟前
2026年PHP开源商城系统实测对比:架构、多商户、商用授权,谁才是真·省心?
vue.js·docker·架构·开源·代码规范
AI智图坊43 分钟前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
鹤落晴春3 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
极客先躯5 小时前
高级java每日一道面试题-2026年02月02日-实战篇[Docker]-如何实现容器的持久化存储?
docker·容器·面试宝典·持久化·存储·韵味·java高级面试题
云计算磊哥@5 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步20155 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
My is 李豆6 小时前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
极客先躯6 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结6 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器