一、建立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 "<html>docker welcome you!</html>" >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,如需轉載請自行聯系原作者