创建并进入目录nginx,目录里准备以下材料

1.Dockerfile文件

FROM docker.io/caio2k/centos7:latest
MAINTAINER Ops_An nsd_anqixiang@163.com
#定义软件版本及编译工具
ENV NGINX_VERSION 1.12.2
ENV BUILD_TOOLS gcc pcre-devel openssl-devel make
COPY local.repo /root/local.repo
ADD nginx-${NGINX_VERSION}.tar.gz /opt
RUN rm -rf /etc/yum.repos.d/* && mv /root/local.repo /etc/yum.repos.d/ \
&& useradd nginx && yum -y install ${BUILD_TOOLS} && cd /opt/nginx-${NGINX_VERSION} \
&& ./configure --user=nginx --group=nginx --with-http_ssl_module \
--with-http_stub_status_module && make && make install \
&& rm -rf /opt/nginx-${NGINX_VERSION} \
&& yum clean all
VOLUME /usr/local/nginx
WORKDIR /usr/local/nginx
EXPOSE 80 443
COPY start.sh /root/start.sh
RUN chmod 777 /root/start.sh
CMD ["/usr/bin/bash", "/root/start.sh"]

2.YUM配置文件

[local_repo]
name=Centos-$releasever-Base
baseurl="ftp://192.168.1.200/centos-1804"
enabled=1
gpgcheck=0

3.启动脚本

#!/bin/bash
/usr/sbin/sshd -D &
/usr/local/nginx/sbin/nginx -g 'daemon off;'

4.nginx源码包

5.制作镜像

docker build -t ops_an/nginx:1.12.2 .

6.运行容器

docker run -itd --net docker01 --ip 10.10.10.50 --name web1 -h web1 \ 
-v /docker_data/nginx/webroot:/usr/local/nginx \
-v /etc/localtime:/etc/localtime ops_an/nginx:1.12.2
说明:--net:指定网桥 --ip:指定固定IP --name:给容器起个名字
--h:定义容器启动后的主机名 -v:将宿主机目录挂到容器
/etc/localtime:可以让容器的时间与宿主机同步