dockerfile用源碼包搭建nginx服務器
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
dockerfile用源碼包搭建nginx服務器