首先 了解一下DockerFile是什么?
一句话,DockerFile是构建镜像的构建文件,包含指令和说明。
DockerFile构建过程的基础知识:
- 每条保留字执行必须是大写,且后面至少跟一个参数
- 指令的执行顺序是从上而下
- #表示注释
- 每条指令都会创建一个新的镜像层,并对镜像进行提交
Docker常用的保留字指令:
FROM:当前镜像是基于哪个镜像的
MAINTAINER:镜像的作者以及邮箱
WORKDIR:指定在创建容器后,终端默认进入的工作目录,一个落脚点
ENV:设置环境变量 EXPOSE:对外暴露的端口
RUN:构建容器时需要执行的指令 ADD:将宿主机目录下的文件拷贝进镜像,<font color=“red”ADD命令会自动处理URL和解压tar压缩包
COPY:类似ADD,拷贝文件和目录到镜像中。 VOLUME:容器数据卷,用于数据保存和持久化工作
CMD:指定一个容器启动时要执行的命令
DockerFile中可以有多个CMD命令,但只有最后一个生效,CMD会被docker> run之后的参数替换。
ENTRYPOINT:指定一个容器启动时要执行的命令。 但ENTRYPOINT是追加
ONBUILD:当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承之后触发。
列出镜像的历史变更
docker history 镜像名
案例:
自定义镜像:
- 编写 DockerFile
- 构建 docker build -f DockerFile地址 -t 新镜像名:版本号 .
- 构建的时候 最后有1个**.** 千万不要忘记!!!!
- 执行 docker run -it 镜像名:版本号