Dockerfile 基本语法
保留字介绍
FROM
基础镜像,当前镜像是基于那个镜像创建的
MAINTAINER
镜像作者加邮箱
RUN
构建镜像时执行的命令
EXPOSE
镜像暴露的端口
WORKDIR
指定容器创建后,终端默认登陆进来的工作目录,一个落脚点
ENV (key value)
构建镜像中设置环境变量(键值对)
ADD
添加并解压缩
1 | ADD 源路径 目标路径 |
COPY
添加并解压缩
1 | COPY 源路径 目标路径 |
VOLUME
容器卷,用于数据保存和持久化工作
CMD (exec/shell)
指定容器启动时的命令,一个容器可有多个cmd 命令,但只有最后一个生效,CMD 会被docker run 的参数替换
ENTRYPOINT XXX
指定容器启动时的命令,追加 docker run 的参数
ONBUILD XXX
当构建一个被继承的Dockerfile 时运行命令,父镜像在被子镜像继承后,父镜像的ONBUILD 被触发
案例
自定义mycentos 镜像
自定义mycentos 镜像让其具备以下功能:
- 登陆后的默认lujing
- vim 编辑器
- 查看网络配置 ipconfig
1
2
3
4
5
6
7
8FROM centos
MAINTAINER Mr.Wang<[email protected]>
ENV mypath /temp
WORKDIR $mypath
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD /bin/bash