Dockerfile 是一种用于构建 Docker 镜像的文件格式和指令集。它包含了一系列的指令,用来描述如何构建出一个完整的镜像。
Dockerfile 中的指令包括:
- FROM:指定基础镜像
- RUN:在镜像中执行命令
- COPY 和 ADD:将本地文件复制到镜像中
- ENV:设置环境变量
- WORKDIR:设置工作目录
- EXPOSE:声明容器运行时需要监听的端口号
- CMD 和 ENTRYPOINT:设置容器启动后需要执行的命令
下面是一个简单的 Dockerfile 示例:
FROM ubuntu:18.04
RUN apt-get update && \
apt-get install -y nginx
COPY index.html /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
这个 Dockerfile 的作用是基于 Ubuntu 18.04 基础镜像构建一个包含 Nginx Web 服务器和静态页面文件的镜像。具体步骤如下:
- 使用 FROM 指定基础镜像为 Ubuntu 18.04。
- 使用 RUN 执行 apt-get 命令更新软件源并安装 Nginx。
- 使用 COPY 将本地 index.html 文件复制到镜像内置目录 /usr/share/nginx/html/ 中。
- 使用 EXPOSE 声明容器需要监听的端口号为 80。
- 使用 CMD 设置启动容器时需要执行的命令,这里是启动 Nginx 服务器。
使用 Docker 命令来构建镜像:
docker build -t my-nginx-image .
其中,-t
指定了镜像的名称和标签,.
表示 Dockerfile 文件所在目录。运行完上述命令后,Docker 将会根据 Dockerfile 中的指令构建出一个名为 my-nginx-image 的镜像。