1. 程式人生 > >dockerfile用源碼包搭建nginx服務器

dockerfile用源碼包搭建nginx服務器

甘兵 雲計算 docker dockerfile nginx dockerfile

一、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


dockerfile用源碼包搭建nginx服務器