美文网首页
(三)Docker使用(3)——在容器中部署静态页面

(三)Docker使用(3)——在容器中部署静态页面

作者: 爱折腾的胖子 | 来源:发表于2018-09-11 00:24 被阅读0次

Docker官网

Docker文档地址


想在容器中部署静态页面需要做一些准备工作,正常的网页服务运行都是通过80端口进行访问。

本节内容:设置容器的端口映射,开启80端口、在容器中部署Nginx服务,访问测试、关闭容器重启docker和Nginx服务。


设置容器的端口映射,开启80端口:

    通过docker run [-P] [-p]命令可以开启端口映射。

        -P --publish-all=true|false 默认为false        暴露容器的所有端口。

        -p --publish=[]                                             暴露容器的部分端口,需指端口号。

    例如{ docker run --name=test -P -i -t ubuntu /bin/bash } 启动一个 暴露所有端口的 的容器。

    例如{ docker run --name=test -p 80 -i -t ubuntu /bin/bash } 启动一个 暴露80端口的 的容器。

    例如{ docker run --name=test -P 8080:80 -i -t ubuntu /bin/bash } 启动一个 暴露80端口的 的容器,并且将容器80端口映射到宿主机8080端口。

    例如{ docker run --name=test -P -i 0.0.0.0:80 -t ubuntu /bin/bash } 启动一个 指定IP,暴露80端口 的容器。

    例如{ docker run --name=test -P -i 0.0.0.0:8080:80 -t ubuntu /bin/bash } 启动一个 指定IP,暴露80端口 的容器,并且将容器80端口映射到宿主机的8080端口。

在容器中部署Nginx服务,访问测试:

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

        使用{ docker run --name=web -p 80 -i -t ubuntu /bin/bash }命令创建。

    2.安装Nginx:

        { apt-get update }

        { apt-get upgrade }

        { apt-get install -y nginx }

    3.安装文本编辑器Vim:

        { apt-get install vim }

    4.创建一个静态页面: 

         { mkdir -p /var/www/html } 创建一个存放静态页面的文件夹。 

         { cd /var/www/html } 进入到创建的文件夹中。 

         { vim index.html } 使用vim创建一个index.html文件。 

         随便写一点HTML代码

            <html>

                <head>

                    <title>Test Page</title>

                </head>

                <body>

                    <h1> Just Test. </h1>

                </body>

            </html>

        保存,退出。

    5.修改Nginx配置文件:

        { whereis nginx } 查找一个nginx的安装目录。

        { ls /etc/nginx/sites-enabled } 查看nginx的配置文件位置。

        { vim default } 打开配置文件进行编辑,更改root的路径为刚才创建的文件夹路径。

    6.运行Nginx:

        { nginx } 启动nginx服务。

        { ps -ef } 查看容器中运行的进程,确保nginx服务已经开启。

        使用ctrl+P和ctrl+Q将容器设置为后台运行。

        { docker ps } 可以看到正在运行的容器列表。

        { docker port web } 可以看到web容器中的端口映射情况。

        { docker top web } 可以看到web容器中进程的运行情况。

    7.测试网站访问:

       7.1 { curl http://127.0.0.1:32769 } 命令可以看到之前写的HTML代码,此时在容器中部署Nginx服务正常运行。

        7.2 也可以在浏览器中访问,可以看到页面正常显示。

        7.3 同时也可以使用容器的IP地址进行访问。

            { docker inspect web } 查看web容器的具体信息。

            { curl http://172.17.0.2 } 此时就可以访问到了,不需要端口号,因为默认是80端口。

        7.4 也可以在浏览器中访问http://172.17.0.2,可以看到页面正常显示。

关闭容器重启docker和Nginx服务:

    使用{ docker stop web } 关闭容器。

    使用{ docker start -i web} 再次开启容器。

    在容器中使用 { ps -ef } 命令查看当前开启的进程,发现nginx服务并没有启动。

    使用ctrl+P和ctrl+Q将容器设置为后台运行。

    使用{ docker exec web nginx } 启动nginx服务。

    使用{ docker top web } 可以看到nginx服务已经启动,此时可以用 http://172.17.0.2 或者 http://127.0.0.1:32769 可能不会再次访问到静态页面。

    原因是IP地址可能改变,映射端口也可能改变,可以使用{ docker inspect web }命令再次查看IP地址和映射端口。

    也就是说当容器停止后重启时,容器的IP地址和端口映射都会发生改变。

相关文章

网友评论

      本文标题:(三)Docker使用(3)——在容器中部署静态页面

      本文链接:https://www.haomeiwen.com/subject/tqasgftx.html