1. 引入
在上节的docker commit
中,我们可以了解到,镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。
这个脚本就是 Dockerfile
Dockerfile 是一个文本文件,其内包含了一条条的 指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
2. 准备工作
1、下载nginx镜像
docker pull nginx
2、创建容器
docker run --rm -p 8002:80 nginx
--rm
退出容器时自动删除该容器
3、使用浏览器访问8002端口如下:
3. 使用Dockerfile
在一个空白目录中,建立一个文本文件,并命名为 Dockerfile:
mkdir my_nginx
cd my_nginx
touch Dockerfile
修改Dockerfile内容如下:
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
构建新的镜像
使用Dockerfile构建新镜像的格式如下:
docker build -t 镜像名字:版本 上下文路径
例如
docker build -t my_nginx:1.0 .
构建成功