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

相关推荐
神奇的程序员23 分钟前
从已损坏的备份中拯救数据
运维·后端·前端工程化
虾..1 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙2 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
玄斎2 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
trayvontang3 小时前
Nginx之location配置
运维·nginx
十六年开源服务商3 小时前
WordPress定制开发最佳公司的用户画像
运维
学Linux的语莫4 小时前
docker,docker-compose二进制包安装
docker
世岩清上4 小时前
AI驱动的智能运维:从自动化到自主化的技术演进与架构革新
运维·人工智能·自动化
张童瑶5 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh
石小千5 小时前
Linux安装OpenProject
linux·运维