【云计算】Docker Nginx示例
2016-03-09 17:46
691 查看
使用数据卷容器,配置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;"]
相关文章推荐
- Dockerfile制作tomcat镜像
- centos6.5上安装docker
- docker安装eclipse che
- 在Windows中构建基于Docker的一致性开发环境
- GIS+=地理信息+容器技术(2)——Dockers技术介绍
- Docker搭建
- docker学习笔记7:发布镜像到docker hub上
- docker学习笔记6:利用dockerfile创建镜像介绍(生成简单web服务器镜像)
- docker学习笔记5:利用commit命令创建镜像 和 删除本地镜像
- Docker入门教程(九)10个镜像相关的API
- Docker入门教程(八)Docker Remote API
- Docker入门教程(七)Docker API
- Docker入门教程(六)另外的15个Docker命令
- Docker入门教程(四)Docker Registry
- Docker入门教程(三)Dockerfile
- Docker入门教程(二)命令
- Docker入门教程(一)介绍
- 程序猿,千万别说你不了解Docker!
- docker一:基础原理
- docker 学习笔记3