5.1.1 Sample 网站的初始 Dockerfile
代码地址:
1. 创建目录及文件

2. 下载示例文件
- 链接过时

server {listen 0.0.0.0:80;server_name _;root /var/www/html/website;index index.html index.htm;access_log /var/log/nginx/default_access.log;error_log /var/log/nginx/default_error.log;}
- nginx 在容器中以前台模式运行, 否则容器会退出
user www-data;worker_processes 4;pid /run/nginx.pid;daemon off;events { }http {sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;gzip on;gzip_disable "msie6";include /etc/nginx/conf.d/*.conf;}
3. Dockerfile

FROM ubuntu:18.04LABEL maintainer="james@example.com"ENV REFRESHED_AT 2014-06-01RUN apt-get -qq update && apt-get -qq install nginxRUN mkdir -p /var/www/html/websiteADD nginx/global.conf /etc/nginx/conf.d/ADD nginx/nginx.conf /etc/nginx/ # 与书中不同EXPOSE 80
5.1.2 构建 Sample 网站和 Nginx 镜像
$ sudo docker build -t jdxj/nginx .[sudo] jdxj 的密码:Sending build context to Docker daemon 4.608kBStep 1/8 : FROM ubuntu:18.0418.04: Pulling from library/ubuntuf22ccc0b8772: Already exists3cf8fb62ba5f: Already existse80c964ece6a: Already existsDigest: sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3Status: Downloaded newer image for ubuntu:18.04---> 2c047404e52d...
查看构建历史:
$ sudo docker history jdxj/nginx
IMAGE CREATED CREATED BY SIZE COMMENT
3181809982cd About a minute ago /bin/sh -c #(nop) EXPOSE 80 0B
e16ecb772155 About a minute ago /bin/sh -c #(nop) ADD file:d6698a182fafaf3cb… 415B
e08071f095f9 About a minute ago /bin/sh -c #(nop) ADD file:9778ae1b43896011c… 286B
fc371ff4d3e8 About a minute ago /bin/sh -c mkdir -p /var/www/html/website 0B
41db94b132af About a minute ago /bin/sh -c apt-get -qq update && apt-get -qq… 95.2MB
137449cb2bf8 About a minute ago /bin/sh -c #(nop) ENV REFRESHED_AT=2014-06-… 0B
0bb3ff33e238 2 minutes ago /bin/sh -c #(nop) LABEL maintainer=james@ex… 0B
2c047404e52d 7 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 7 weeks ago /bin/sh -c mkdir -p /run/systemd && echo 'do… 7B
<missing> 7 weeks ago /bin/sh -c [ -z "$(apt-get indextargets)" ] 0B
<missing> 7 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' > /… 745B
<missing> 7 weeks ago /bin/sh -c #(nop) ADD file:6ef542de9959c3061… 63.3MB
5.1.3 从 Sample 网站和 Nginx 镜像构建容器

<head>
<title>Test website</title>
</head>
<body>
<h1>This is a test website</h1>
</body>
运行容器:
- -p: 为80端口添加映射
$ sudo docker run -d -p 80 --name website -v $PWD/website:/var/www/html/website jdxj/nginx nginx
[sudo] jdxj 的密码:
ca820e342ce3470e8054487ce8f9016ce78636508ebf3bc0634047d55d0c4d72
5.1.4 修改网站
修改 index.html 文件后刷新浏览器.
