天天看點

docker安裝nginx

一、建立nginx鏡像并運作容器

首先拉去Ubuntu鏡像

docker pull ubuntu:14.04

建立存放檔案的目錄

mkdir /root/docker

建立Dockerfile檔案

FROM ubuntu:14.04

MAINTAINER waitfish from dockerpool.com([email protected])

RUN \

  apt-get install -y nginx && \

  rm -rf /var/lib/apt/lists/* && \

  echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \

  chown -R www-data:www-data /var/lib/nginx

RUN echo "Asia/Shanghai" > /etc/timezone && \

  dpkg-reconfigure -f noninteractive tzdata

ADD run.sh /run.sh

RUN chmod 755 /*.sh

VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/certs","/etc/nginx/conf.d","/var/log/nginx"]

WORKDIR /etc/nginx

CMD ["/run.sh"]

EXPOSE 80

EXPOSE 443

建立run.sh啟動檔案

#!/bin/bash

/usr/sbin/nginx

建立鏡像

docker build -t nginx:stable .

檢視鏡像是否建立成功

docker images

建立容器并啟動

docker run -d -P nginx:stable

檢視容器的端口号

docker ps

<a href="https://s1.51cto.com/wyfs02/M00/99/58/wKiom1lHeWPAfU6jAACKGG3_bpI773.jpg" target="_blank"></a>

通路本地映射到容器的端口号32770

<a href="https://s5.51cto.com/wyfs02/M02/99/58/wKiom1lHegnzvZn9AACKGG3_bpI364.jpg-wh_500x0-wm_3-wmp_4-s_863557592.jpg" target="_blank"></a>

由此可以看到容器的nginx服務已經能成功通路

二、挂載本地代碼目錄到容器

進入容器,檢視容器nginx的根目錄

docker exec -ti a7aa8cad480e /bin/bash

vi /etc/nginx/sites-enabled/default

<a href="https://s1.51cto.com/wyfs02/M01/99/59/wKiom1lHfBvRxCHCAADHQCP5vuY852.jpg-wh_500x0-wm_3-wmp_4-s_3213987014.jpg" target="_blank"></a>

結束目前運作的容器

docker stop a7aa8cad480e

建立本地代碼目錄和檔案

mkdir /root/docker/www

echo "&lt;html&gt;docker welcome you!&lt;/html&gt;" &gt;index.html

啟動并挂載本地目錄/root/docker/www到容器/usr/share/nginx/html

docker run -d -P --name=nginx -v /root/docker/www:/usr/share/nginx/html nginx:stable

檢視啟動情況和測試通路

<a href="https://s1.51cto.com/wyfs02/M00/99/59/wKioL1lHf0GjOVP8AABxqOU6Uwc153.jpg" target="_blank"></a>

至此nginx服務容器建立結束

本文轉自 無心低語 51CTO部落格,原文連結:http://blog.51cto.com/fengzhankui/1939834,如需轉載請自行聯系原作者

繼續閱讀