Docker 案例: 在容器中部署静态网站

时间:2021-10-10 21:47:14

----------------知识点------------

 容器的端口映射:

  docker  run  [-P] [-p]

  -P,–publish-all=true | false,大写的P表示为容器暴露的所有端口进行映射

  -p,–publish=[],小写的p表示为容器指定的端口进行映射,有四种形式

    ----containerPort:只指定容器的端口,宿主机端口随机映射

    ----hostPort:containerPort:同时指定容器与宿主机端口一一映射

    ----ip::containerPort:指定ip和容器的端口

    ----ip:hostPort:containerPort:指定ip、宿主机端口以及容器端口

    例如:

    docker run -p 80 -i -t centos /bin/bash

    docker run -p 8080:80 -i -t centos /bin/bash

    docker run -p 0.0.0.0::80 -i -t centos /bin/bash
    docker run -p 0.0.0.0:8080:80 -i -t centos /bin/bash
------------------------------------------------------------------------------------------------------------------------------

实例:容器中部署静态网站

>准备环境:

  1.创建映射80端口的交互式容器

    docker run -p 80:80 --name web -i -t ubuntu /bin/bash

  2.更新yum 源

    yum  update

  3.配置epel-release 源

    yum  -y install  epel-release

  4.安装  nginx

    yum  -y install nginx

  5.安装 vim 包

>创建静态页面

  1.mkdir -pv   /var/www/html

  2.cd  /var/www/html

  3.vim  index.html(内容如下)

    <html>

    <head>
        <title>Nginx in docker</title>
    </head>
    <body>
        <h1>hello,I am webserver in docker</h1>
    </body>
    </html>

>修改NGINX 配置文件

  1.查看NGINX  安装位置:whereis  nginx

  2.修改配置文件:  vim   /etc/nginx/nginx.conf (修改部分如下)

    root   /var/www/html;

    index   index.html   index.htm;

 

> 启动nginx 

  #nginx

>查看进程

  ps  aus

>验证网站并访问

  1.以守护式退出:Ctrl+P+Q

  2.查看容器进程:docker  top 容器名

  3.查看容器端口映射情况: docker  port  容器名

       4.通过宿主机地址加映射端口访问