使用Dockerfile定制ubuntu+nginx镜像

实验目的:书写Dockerfile,定制ubuntu 14.04 + nginx 1.14.0的镜像。

实验过程:

  1. 下载nginx-1.14.0 http://nginx.org/download/nginx-1.14.0.tar.gz

    下载pcre-8.7 https://ftp.pcre.org/pub/pcre/pcre-8.37.tar.gz

  2. 安装docker,参考docker官方文档 https://yeasy.gitbooks.io/docker_practice/install/

  3. 书写Dockerfile

 1 # Base image
 2 FROM ubuntu:14.04
 3 
 4 # MAINTAINER
 5 MAINTAINER Chuanxing luckyton@foxmail.com
 6 
 7 ENV DEBIAN_FRONTEND noninteractive
 8 
 9 # 将nginx以及pcre源代码加入镜像
10 ADD nginx-1.14.0.tar.gz /usr/local/src/
11 ADD pcre-8.37.tar.gz /usr/local/src
12 
13 # 安装编译器
14 RUN apt-get update
15 RUN apt-get install gcc -y
16 RUN apt-get install g++ -y
17 RUN apt-get install make -y
18 
19 # 指定工作目录
20 WORKDIR /usr/local/src/nginx-1.14.0/
21 
22 # 编译nginx
23 RUN ./configure --prefix=/usr/local/nginx --without-http_gzip_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install
24 RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
25 
26 # 设置环境变量
27 ENV PATH /usr/local/nginx/sbin:$PATH
28 
29 # 暴露80端口
30 EXPOSE 80
31 
32 # 容器默认启动命令
33 ENTRYPOINT ["nginx"]

  4. 创建镜像

    将下载的nginx-1.14.0.tar.gz和pcre-3.87.tar.gz与Dockerfile放置在同一目录。

    运行命令 : docker build -t ubuntu14.04_nginx1.14.0:v1

  5. 启动容器

    运行命令 : docker run -d -p 81:80 ubuntu14.04_nginx1.14.0:v1

  6. 检验

    在浏览器地址栏,输入 localhost:81,看效果。

  7. 关闭容器

    查看启动的容器id : 运行命令 docker container ls

    关闭容器 :运行命令 docker stop 容器id