DockerFile 解析
什么是DockerFile,我们知道容器是通过运行镜像文件得来的,而镜像文件就是DockerFile组成的,DockerFile组成部分主要是下载镜像、环境配置封装等,比如一个tomcat的镜像文件,是在DockerFile运行成镜像文件的时候将所需要的jdk先下载好,环境变量配置好,然后再docker run运行镜像文件变成容器。
上图就是DockerFile变成容器的过程,先通过docker build将dockerfile自定义成一个镜像文件,在通过docker run将镜像文件变成一个容器
DockerFile编写规范
A.#描述注释
B.指令必须要大写,后面至少需要带至少一个参数;
C.指令是按照从上到下,顺序执行;
DockerFile指令
1.FROM 指定父镜像: 简单来说继承的关系,比如tomcat需要依赖jdk,肯定就要继承jdk
2.MAINTAINER :作者,也就是发布这个DockerFile的作者
3.RUN: 容器创建的时候执行一段命令,docker run的时候执行一段命令比如创建一个文件夹
4.ADD: 将本地文件添加到容器中,例如打包springboot项目的时候,就需要将将springboot的jar包添加到容器中
5.COPY:功能类似ADD,但是是不会自动解压文件,也不能访问网络资源
6.CMD:构建容器后调用,也就是在容器启动完毕才进行调用,比如tomcat启动就需要执行.sh文件。如果是tomcat容器docker run启动完毕就会执行.sh
7.ENV: 设置环境变量
8.EXPOSE: 指定于外界交互的端口
9.VOLUME 用于指定持久化目录
10.WORKDIR 设置进入容器时的路径,进入容器后默认是那个目录
构建自己centos镜像
#继承centos
FROM centos
#定义发布者的信息
MAINTAINER mayikt-yushengjun
#设置环境变量是容器里/usr的目录
ENV MYPATH /usr
#进入容器默认进入环境变量MYPATH的/usr目录
WORKDIR $MYPATH
#启动容器下载vim的插件
RUN yum -y install vim
#设置与外部交互的端口号
EXPOSE 80
#容器启动完成直接进入目录
CMD /bin/bash
打开一个记事本,复制粘贴进去,然后再把名称改为Dockerfile,上传到centos里,调用命令
docker build -f Dockerfile -t wdpcs:1 .
docker build -f Dockerfile -t为固定格式,wdpcs镜像的名称,:1是版本号