2.8-dockerfile示例-安裝nginx

Dockerfile創建鏡像 – Dockerfile示例安裝nginx



先下載nginx的配置文件到當前目錄下 wget http://www.apelearn.com/study_v2/.nginx_conf 

vim Dockerfile //內容如下

#############################################################

# Dockerfile to build Nginx Installed Containers

# Based on CentOS

#############################################################

#Set the base image to CentOS

FROM centos  #基於docker images的一個centos鏡像。

#File Author / Maintainer

MAINTAINER wyp [email protected]   #作者信息

#Install necessary tools    #下列包,也可寫在一行。

RUN yum install -y pcre-devel wget net-tools gcc

RUN yum install -y zlib zlib-devel make

RUN yum install -y openssl-devel

# Install Nginx

ADD http://nginx.org/download/nginx-1.8.0.tar.gz .   #.意思爲,下載源碼到當前目錄下

RUN tar zxvf nginx-1.8.0.tar.gz

RUN mkdir -p /usr/local/nginx

RUN cd nginx-1.8.0.tar.gz && ./configure --prefix=/usr/local/nginx && make && make install

RUN rm -f /usr/local/nginx/conf/nginx.conf  #刪除舊配置文件

COPY .nginx_conf /usr/local/nginx/conf/nginx.conf #複製下載的配置到目的路徑

# Expose ports  #暴露80端口,因爲做的是web服務器

EXPOSE 80

# Set the default command to execute

# when creating a new container

ENTRYPOINT /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf



創建鏡像:

docker build -t centos_nginx . #指定鏡像名稱,後面的.指的是生成的鏡像在當前目錄下

執行後,可以看到執行的每一個步驟。

docker images 可以看到我們新建的鏡像


進入容器

docker run -itd -P centos_nginx bash   #-P可以把容器80端口隨機映射到宿主機一個端口上。

docker exec -it 容器ID bash    #進入容器,但是還沒有啓動nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  #啓動nginx

curl localhost  驗證容器web是否正常

退出容器,curl localhost:端口  驗證容器web是否正常,隨機的端口可以docker ps查看


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章