docker学习二(使用Docker测试静态网站)

注:本文章是基于《第一本Docker书》第5章内容的学习笔记,建议购买原书阅读

一、使用Docker测试静态网站

Sample网站的初始Dockerfile

  1. 创建目录和Dockerfile文件

    mkdir sample
    cd sample 
    touch Dockerfile
    
  2. 下载nginx相关配置文件

    cd sample
    mkdir nginx && cd nginx
    wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/global.conf
    wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/nginx/nginx.conf
    cd ..
    
  3. 编写Dockerfile

    FROM ubuntu:14.04
    MAINTAINER James Turnbull "james@example"
    ENV REFRESHED_AT 2014-06-01 
    RUN apt-get update
    RUN apt-get -y -q install nginx
    RUN mkdir -p /var/www/html/website
    ADD nginx/global.conf /etc/nginx/conf.d/
    ADD nginx/nginx.conf /etc/nginx/nginx.conf
    EXPOSE 80
    这个文件包括安装nginx,创建目录/var/www/html,将配置文件添加到镜像中,公开镜像80端口。
    nginx.conf 文件中 daemon off;阻止nginx进入后台运行,作用是保持容器处于活跃状态,如果nginx以守护进程运行,会导致容器启动时处于运行状态,之后退出。
    
  4. 使用 docker build 命令构建镜像。注意:命令最后有个“.”

    docker build -t jamtur01/nginx .
    
  5. 从Sample网站和Nginx镜像构建容器

    cd sample
    mkdir website && cd website
    wget https://raw.githubusercontent.com/jamtur01/dockerbook-code/master/code/5/sample/website/index.html
    cd ..
    docker run -d -p 8080:80 --name website -v $PWD/website:/var/www/html/website jamtur01/nginx nginx
    

    -v:表示将宿主机的目录作为卷,挂在到容器中。-v 源目录:ro:容器里的目录。在源目录后可加rw或者ro来制定目录的读写状态。
    卷:在docker中十分重要,他是一个或者多个容器内被选定的目录,可以绕过分层的联合文件系统,为Docker提供持久数据或者共享数据。对卷的修改会直接生效,并绕过镜像。当提交或者创建镜像时,卷不被包含在镜像。
    通过浏览器访问 http://192.168.43.99:8080/ 可以显示index.html页。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值