Doker: 基于 Dockerfile 构建新镜像
概述
Docker 官方并不推荐使用 docker commit 的方法来构建镜像,而是推荐使用 Dockerfile 定义的文件和 docker build 命令来构建镜像。Dockerfile 使用基于 DSL 语法的指令来构建一个 Docker 镜像,之后使用 docker build命令基于改 Dockerfile 中的指令构建一个新的镜像。
1. 创建 Dockerfile
cd /d/vm/
mkdir website
cd website
touch Dockerfile
Dockerfile 内容:
# Version: 0.0.1
FROM ubuntu:latest
MAINTAINER Allan Ma
RUN apt-get update
RUN apt-get install -y nginx
RUN echo 'Hi, I am in your container' \
>/usr/share/nginx/html/index.html
EXPOSE 80
Dockerfile 由一系列指令和参数组成。每条指令,如 FROM,都必须为大写字母,且后面跟随一个参数:FROM ubuntu:latest。Dockerfile 中的指令会按顺序从上到下执行,所以应该根据需要合理安排指令的顺序。
每条指令都会创建一个新的镜像层并对镜像进行提交。Docker 大体上按照如下流程执行 Dockerfile 中的指令:
- Docker 从基础镜像运行一个容器;
- 执行一条指令,对容器做出修改;
- 执行类似 docker comm