利用Dockerfile构建镜像

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

猜你喜欢

转载自blog.csdn.net/niekai01/article/details/77825656