您的位置:首页 > 运维架构 > Docker

Dockerfile命令说明

2018-04-14 23:42 591 查看
FROM
指定创建镜像的基础镜像
任何Dockerfile中的第一条非注释指令必须为FROM指令,可以有多个FROM指令创建多个镜像(每个镜像一次)

MAINTAINER
指定镜像制作者信息

RUN
运行执行命令
格式:
RUN<command> 使用shell终端运行
RUN ["executable", "param1", "param2"] 解析为json数组并使用exec运行,不会启动shell环境

CMD
指定容器启动时默认执行的命令
每个Dockerfile只能有一条CMD命令,如果指定多条,只有最后一条会被执行
用于启动容器手动指定了运行命令,会覆盖Dockerfile中CMD指定的命令
格式:
CMD ["executable", "param1", "param2"] exec执行(推荐)
CMD command param1 param2 shell中执行
CMD ["param1", "param2"] 提供给ENTRYPOINT的默认参数

LABEL
用于指定生成镜像的元数据标签信息
格式:LABEL <key>=<value> ...

EXPOSE
声明容器内服务监听端口

ENV
为docker容器设置环境变量
可使用docker inspect命令查看,同时可使用docker run --env <key>=<value>修改环境变量

ADD
将源<src>路径下的内容复制到容器中<dest>路径下
<src>可以是Dockerfile所在目录的相对路径,也可以是url,还可以是tar文件(tar文件会自动解压到<dest>路径下)
<dest>可以是镜像内的绝对路径,或者相对于工作目录(WORKDIR)的相对路径

COPY
将源<src>路径下的内容复制到容器中<dest>路径下(使用本地目录作为源目录,推荐使用COPY)

ENTRYPOINT
指定镜像的默认入口命令
只能有一个ENTRYPOINT命令,有多个只有最后一个有效
运行是可以被-- entrypoint参数覆盖掉
格式:
ENTRYPOINT ["executable", "param1", "param2"] exec执行
ENTRYPOINT command param1 param2 shell中执行

VOLUME
创建数据卷挂载点

USER
指定容器运行用户

WORKDIR
为后续的RUN、CMD和ENTRYPOINT指令配置工作目录

ARG
指定镜像内使用的参数

ONBUILD
配置作为其他镜像的基础镜像时需要执行的创建操作指令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dockerfile docker Command