Docker基于centos创建nginx镜像

    本来想着直接用docker pull nginx下载nginx镜像,但由于项目中使用fastdfs作为文件服务器,需要在nginx中添加fastdfs-nginx-module模块,所以就使用默认安装的方式创建nginx镜像。
下面进入安装:

1.下载CentOS镜像
  docker pull centos
  [root@file nginx]# docker images
  REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
  centos                          latest              9f38484d220f        4 months ago        202MB
  
2.使用centos镜像启动容器
  docker run -itd --name nginx centos:centos7 /bin/bash
3.进入nginx容器
  docker exec -it 69a3991a5fb6 /bin/bash     --69a3991a5fb6为容器id
4.在容器中安装nginx
  安装环境:yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
  下载nginx:wget -c https://nginx.org/download/nginx-1.12.1.tar.gz
  解压:tar -zxvf nginx-1.12.1.tar.gz
  进入目录:cd nginx-1.12.1
  使用默认配置:./configure
  编译:make
  安装:make install
  设置nginx以非daemon启动:echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
  
5.编写nginx启动脚本
  cd /usr/local/sbin
  vi run.sh
  添加内容
  #!/bin/bash
  /usr/local/nginx/sbin/nginx
6.改变脚本权限,使其可以运行:
  chmod 755 run.sh

exit退出容器
7.根据容器id生成镜像:
  docker commit -a "suxlin" -m "nginx images" 1b212636e9b6 nginx:latest   --1b212636e9b6容器id

[root@file nginx]# docker images
  REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
  nginx                           latest              b2d8591975ac        About an hour ago   435MB

8.通过nginx镜像启动容器
  docker run -di --name nginx -p 8080:80 nginx /usr/local/sbin/run.sh

在浏览器访问8080即可看到nginx启动成功。

你可能感兴趣的:(软件开发)