dockerfile
luffy 11/11/2023 docker
# Dockerfile
Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。
- 编写Dockerfile文件
- docker build命令构建镜像
- docker run依据镜像运行容器实例
# 构建过程
Dockerfile编写:
- 每条保留字指令都必须为大写字母,且后面要跟随至少一个参数
- 指令按照从上到下顺序执行
- #表示注释
- 每条指令都会创建一个新的镜像层并对镜像进行提交
Docker引擎执行Docker的大致流程:
- docker从基础镜像运行一个容器
- 执行一条指令并对容器做出修改
- 执行类似docker commit的操作提交一个新的镜像层
- docker再基于刚提交的镜像运行一个新容器
- 执行Dockerfile中的下一条指令,直到所有指令都执行完成
# Dockerfile保留字
# FROM
基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板。Dockerfile第一条必须是FROM
# FROM 镜像名
FROM hub.c.163.com/library/tomcat
1
2
2
# MAINTAINER
镜像维护者的姓名和邮箱地址
# 非必须
MAINTAINER ZhangSan zs@163.com
1
2
2
# RUN
容器构建时需要运行的命令。
有两种格式:
shell格式
# 等同于在终端操作的shell命令
# 格式:RUN <命令行命令>
RUN yum -y install vim
1
2
3
2
3
exec格式
# 格式:RUN ["可执行文件" , "参数1", "参数2"]
RUN ["./test.php", "dev", "offline"] # 等价于 RUN ./test.php dev offline
1
2
2