Dockerfile 是一个文本文件,其内包含了一条条的指**
(Instruction),**每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。还以之前定制 nginx 镜像为例,这次我们使用 Dockerfile 来定制。
#First Dockerfile
FROM ubuntu:14.04
MAINTAINER kainie "[email protected]"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80
所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制。而 FROM 就是指定基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令。在 Docker Hub1 上有非常多的高质量的官方镜像, 有可以直接拿来使用的服务类的镜像,如 nginx、redis、mongo、mysql、httpd、php、tomcat 等。
查看镜像:
docker images
MAINTAINER 给出构建该镜像的维护信息
RUN 指令是用来执行命令行命令的。由于命令行的强大能力,RUN 指令在定制镜像时是最常用的指令之一。其格式有两种:
shell 格式:RUN <命令>,就像直接在命令行中输入的命令一样。刚才写的 Dockrfile 中的 RUN 指令就是这种格式。
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
exec 格式:RUN [“可执行文件”, “参数1”, “参数2”],这更像是函数调用中的格式。
明白了这个 Dockerfile 的内容,那么让我们来构建这个镜像吧。
docker run -d --name nginx_web3 -p 80 keepsilence01/df_test1 nginx -g "daemon off;"
至此构建镜像完成并运行容器。
参考:
极客学院Docker视频
Docker 从入门到实践
https://yeasy.gitbooks.io/docker_practice/content/image/build.html