Dockerfile 命令总结

FROM

FROM命令指定了基础镜像,比如FROM ubuntu,则表示你的镜像的基本镜像来自ubuntu

MAINTAINER

maintainer意为维护者,用来标识维护者信息(作者)

RUN

格式为 RUN <command> 或`RUN [“executable”, “param1”, “param2”],命令较长时可以使用****换行

CMD

格式为

  • CMD [“executable”, “param1”, “param2”]
  • CMD command param1 param2(在/bin/sh中执行)
  • CMD [“param1”, “param2”](提供给ENTRYPOINT的默认参数)

如果用户启动容器时指定了运行的指令,则会覆盖掉CMD的指令

EXPOSE

告诉Docker容器需要暴露的端口号,这样在启动时可以通过-P或-p来指定对应的端口映射
例:EXPOSE 20 8080

ENV

指定环境变量,会被后续的RUN指令使用,并在容器运行时保持
ENV PG_VERSION 9.3.4

ADD

ADD <src> <dest>
该指令可以复制文件或目录到容器,<src>可以是Dockerfile所在目录的相对路径,也可以是URL,也可以是tar(会自动解压)。

COPY

COPY <src> <dest>

复制本机的<src>为容器的<dest>,相比ADD,它不支持URL,自动解压。

ENTRYPOINT

入口点,格式为ENTRYPOINT [“executable”, “param1”, “param2”] 或ENTRYPOINT command param1 param2(sh)
入口点只能被配置一个,在容器启动时会自动被执行,和CMD相比,它的特点是不会被用户提供的命令覆盖

VOLUME

指定数据挂载,创建数据卷
格式为:

  • VOLUME ["<路径1>", “<路径2>”…]
  • VOLUME <路径>

USER

指定运行容器时的用户名或UID,后续的RUN也会使用指定用户,可以通过这种方式限制权力

WORKDIR

指定WORKDIR,方便后续的RUN指令执行,后续的相对路径依据与WORKDIR

ONBULID

当该镜像将来被用来作为其它镜像的基础镜像时所执行的操作指令(新的Dockerfile使用From thisImage)
ONBULID ADD . /app/srcONBULID RUN echo "onbulid"

docker build命令依据Dockerfile创建镜像

docker build path,会自动搜索path下的Dockerfile,并将Dockerfile路径下所有的目录和文件发送到Docker服务端,由服务端来创建镜像
通过-t 可以指定生成的镜像的标签

使用.dockerignore 忽略路径下的目录和文件

每一行添加一条匹配模式,语法类似.gitignore

Dockerfile 命令总结Dockerfile 命令总结 衡与墨 发布了129 篇原创文章 · 获赞 66 · 访问量 14万+ 私信 关注
上一篇:org.apache.ibatis.binding.BindingException: Parameter '0' not found. Available parameters


下一篇:关于js中apply方法和call方法的理解