一、Dockerfile内容如下
FROM centos:latest
MAINTAINER [email protected]
ENV TIME_ZONE Asia/Shanghai
COPY ./nginx-1.9.3.tar.gz /usr/src
#RUN set -x \
#? ? ? ? \
#&& yum -y update \
#&& yum -y install gcc make pcre zlib zlib-devel openssl-devel \
#&& tar zxf /usr/src/nginx-1.9.3.tar.gz -C /usr/src/ \
#&& rm -rf /usr/src/nginx-1.9.3.tar.gz \
#&& echo "${TIME_ZONE}" > /etc/timezone \
#? ? ? ?&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \
RUN yum -y update && yum -y install gcc make pcre zlib zlib-devel openssl-devel
RUN tar zxf /usr/src/nginx-1.9.3.tar.gz -C /usr/src/ && rm -rf /usr/src/nginx-1.9.3.tar.gz
RUN echo "${TIME_ZONE}" > /etc/timezone && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime
WORKDIR /usr/src/nginx-1.9.3
RUN /usr/src/nginx-1.9.3/configure \
--prefix=/usr/local/nginx \
#--user=www \
#--group=www \
--with-http_stub_status_module \
--with-http_realip_module \
--with-pcre \
--with-http_ssl_module \
--with-stream
RUN make && make install
COPY ./nginx.conf /usr/local/nginx/conf/
#RUN groupadd www && useradd -g www www?
#RUN chown -R www:www /usr/local/nginx
WORKDIR /usr/local/nginx
RUN rm -rf /usr/src/nginx-1.9.3
CMD ["/usr/local/nginx/sbin/nginx"]
EXPOSE 80
EXPOSE 443
二、描述
1、说明
此镜像是在centos7.2系统基础上构建的源码nginx服务,nginx安装目录/usr/local/nginx在dockfile中,编译时我把--user=www、--group=www注释了,如果大家需要这个选项请自行放开,并且此dockerfile配置的时间区。其中有些一部分带#的内容不用管(#RUN set -x \)。
2、环境
系统环境:centos7.2
nginx版本:nginx-1.9.3
3、用dockerfilie构建镜构
docker build -t nginx:1.9.3 .
4、运行
docker run -d -p 80:80 nginx:1.9.3 /usr/local/nginx/sbin/nginx
-d:在后台运行,并生成容器id
-p:把容器主机80端口映射到容器80端口,可自定义端口映射
/usr/local/nginx/sbin/nginx 运行容器后执行这条nginx启动命令
5、查看nginx容器启动情况
docker ps
6、测试
http://宿主机IP