【雲計算】Docker Nginx示例


 使用數據卷容器,配置Nginx Docker作為靜態文件服務器   .



該方法是直接使用命令行,當然也可使用Dockerfile文件進行創建。 其實,使用docker創建nginx容器是很簡單的,但要和數據卷容器結合起來使用,即所有靜態文件放在數據卷容器中,然后可以啟動多個nginx來訪問同一個數據卷容器(如果需要啟動多個數據卷容器,可能會出現一個小問題,請參見我在Dockerone上討論的這個問題: 
http://dockerone.com/question/214notification_id=4141&rf=false&item_id=623&answer_id=623&single=TRUE#!answer_623) 
1.首先要將 nginx 給pull下來 
sudo docker pull nginx 
 2.將 debian:wheezy 給pull下來 
 執行該步的原因是因為考慮到后面實現數據卷容器共享時的相通性。 
sudo dcoker pull debian:wheezy 
 3.啟動一個數據卷容器 
sudo docker run --name data-volume-container -v /www:/usr/share/nginx/html:ro -d debian:wheezy 
 * 其中/usr/share/nginx/html是nginx的默認文件目錄 
* 以debian:wheezy來啟動是為了保證和nginx的目錄結構相同(具體可查看nginx的Dockerfile文件),當然,使用Ubuntu也可以,其具有相同的目錄結構

4.然后啟動nginx,注意各個參數 

docker run --volumes-from data-volume-container --name nginx-server -p 80:80 -d nginx 
注: 
* 訪問主機的默認端口即可訪問到nginx


最后,只需要在瀏覽器中輸入http://localhost或者http://host-ip就可進行訪問 


附:nginx 的 Dockerfile: 
FROM debian:wheezy 
MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com" 
RUN apt-key adv --keyserver pgp.mit.edu --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 
RUN echo "deb http://nginx.org/packages/mainline/debian/ wheezy nginx" >> /etc/apt/sources.list 
ENV NGINX_VERSION 1.7.11-1~wheezy 
RUN apt-get update && \ 
 apt-get install -y ca-certificates nginx=${NGINX_VERSION} && \ 
 rm -rf /var/lib/apt/lists/* 
\# forward request and error logs to docker log collector 
RUN ln -sf /dev/stdout /var/log/nginx/access.log 
RUN ln -sf /dev/stderr /var/log/nginx/error.log 
VOLUME ["/var/cache/nginx"] 
EXPOSE 80 443 
CMD ["nginx", "-g", "daemon off;"]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM