镜像的创建
镜像的创建可以分为两种方式:
- 镜像提交,docker commit的方式。docker commit命令可以把容器打包成一个镜像,还可以把容器内的数据也打包到镜像中。
- 镜像构建,Dockerfile文件+docker build的方式。根据自己的需要(需求)自定义一个镜像。
Dockerfile里应该写什么
- 在哪个基础镜像上开始构建
- 描述作者的信息
- 定义一个变量
- 设置登录以后工作路径(落脚点)
- 定义构建时需要执行的命令
- 指定开放的端口
- 定义运行容器时需要执行的命令
简单案例
#从哪一个基础镜像构建
FROM centos
#定义作者的信息
MAINTAINER '1907'
#定义一个变量
ENV newpath /tmp
#设置登录以后工作路径(落脚点)
WORKDIR $newpath
#干了什么(执行你要的操作)
RUN yum install -y vim
RUN yum install -y net-tools
##如果有更多的需求.......RUN
#开放指定的端口
EXPOSE 80
EXPOSE 22
##要啥就开啥 尽量少 安全
#执行命令
CMD echo $newpath
CMD echo "success----
相关命令
#其中 -f 参数表示文件
docker build -f dockerfile -t azkaban/custom_centos:v1 .
#查看镜像的构建记录
docker history azkaban/custom_centos:v1
#执行后会进入容器,会发现直接进入的就是 /tmp 目录
docker run -t -i azkaban/custom_centos:v1
图解构建过程
根据上面的Dockerfile文件
Dockerfile指令总结
指令比喻
参考资料:
https://www.jianshu.com/p/53123da7af41
https://www.cnblogs.com/ltzhang/p/13544510.html