1.DockerfileDocker可以通过Dockerfile的内容可以自动构建镜像.
Dockerfile是一个包含创建镜像所有命令的文本文件, 通过docker build命令可以根据Dockerfile的内容构建镜像,下面介绍Dockerfile基本语法结构
Dockerfile语法
2. 使用Dockerfile安装Nginx
bash-3.2# vim Dockerfile
From centos-6-x86_minimal:latest
MAINTAINER 90root admin@90root.com
RUN yum install -y pcre-devel wget net-tools gcc zblic zlib-devel make opensshl-devel
ADD http://nginx.org/download/nginx-1.8.1.tar.gz .
RUN tar zxvf nginx-1.8.1.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd nginx-1.8.1 && ./configure --prefix=/usr/local/nginx && make && make install
EXPOSE 80
bash-3.2# docker build -t centos6_nginx .
bash-3.2# docker run -itd --name nginx -P centos6_nginx:latest bash
bash-3.2# docker exec -it nginx bash
0472cbadc714# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
0472cbadc714# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 33 root 6u IPv4 5213185 0t0 TCP *:http (LISTEN)
bash-3.2# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0472cbadc714 centos6_nginx:latest "bash" About a minute ago Up About a minute 0.0.0.0:9000->80/tcp nginx
bash-3.2# curl 127.0.0.1:9000 -I
HTTP/1.1 200 OK
Server: nginx/1.8.1
Date: Thu, 23 Jun 2016 00:53:39 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 23 Jun 2016 00:30:25 GMT
Connection: keep-alive
ETag: "576b2da1-264"
Accept-Ranges: bytes
### 或者浏览器访问192.168.1.40:9000