Docker之Dockerfile

Dockerfile

作用:用来定制镜像的脚本

Dockerfile 是一个文本文件,其内容包含一条条的指令(Instruction),每一条执行构建一层,因此每一条指令的内容,就是描述该层应当如何构建。

在一个空白目录下,创建文本文件 Dockerfile,并在其中输入如下内容:

FROM nginx
RUN echo '

Hello, Docker!

' > /usr/share/nginx/html/index.html

构建镜像

Dockerfile 文件所在目录执行:

docker build -t nginx:v1 .

==注意==:docker build 命令最后一个 .。这个 . 表示当前目录,并且这个.所代表的路劲 是一个上下文(Context)

首先理解几个默认的事实:

  • 不额外指定 Dockerfile 的话,默认下会将 上下文目录中的名为 Dockerfile 的文件作为 Dockerfile。可以通过 -f 参数指定任意路径下Dockerfile
  • Dockerfile文件的名字不一定是Dockerfile,只是大家习惯性的会使用默认的文件名Dockerfile而已

而这里的上下文目录的指定,是要告诉给 docker build 命令,需要将这个上下文目录下的文件打包给 Docker引擎中。即 docker 命令操作属于 C/S 架构的命令操作。

在上下文目录中,可以通过 .dockerignore (与.gitignore一样的语法),来剔除在上下文目录下不需要传递给Docker引擎的文件。

Dockerfile 指令

COPY 复制文件

ADD 更高级的复制文件

CMD 容器启动命令

ENTRYPOINT 入口点

ENV 设置环境变量

ARG 构建参数

VOLUME 定义匿名卷

EXPOSE 生命端口

WORKDIR 指定工作目录

USER 指定当前用户

HEALTHCHECK 健康检查

ONBUILD 为他人作嫁衣裳

你可能感兴趣的:(Docker之Dockerfile)