镜像文件是如何创建并运行的
- Dockerfile描述镜像文件需要的一些依赖配置和环境变量以及需要执行的命令
- 将我们的Dockerfile文件打包成一个镜像文件
- 直接使用我们的容器运行该镜像文件
Dockerfile编写规范
- #描述注释
- 指令必须大写,后面至少需要带一个参数
- 指令是按照从上到下,顺序执行
Dockerfile指令
- FROM指定父镜像,基于哪个image镜像构建,指定基础镜像,必须为第一个指令
- MAINTAINER维护者
- RUN 容器创建时执行的一段命令,构建镜像时执行的命令,例如yum -y update
- ADD 将本地文件添加到容器中,tar类型的文件会自动解压(网络压缩资源不会被自动解压,可以访问网络资源,类似月wget)
- COPY 类似于ADD,但是不会自动解压文件,也不能访问网络资源
- CMD 构建容器后调用,也就是在容器启动时调用,例如执行.sh文件
- ENV 设置环境变量
- EXPOSE 指定用于外界交互的端口
- VOLUME 用于指定持久化的目录
- WORKDIR 设置进入容器时的路径,默认访问的路径
Dockerfile案例
- 基于centos,定制自己的centos
- 支持vim插件
- 进入容器时,默认访问目录为/usr
FROM centos
MAINTAINER mayikt-yushengjun
ENV QUDEHU/usr
WORKDIR $QUDEHU
RUN yum -y install vim
EXPOSE 80
CMD /bin/bash
使用docker将Dockerfile打包成镜像文件,之后进行运行
docker build -f Dockerfile -t qudehu_centos_vim:1.0