站長資訊網
        最全最豐富的資訊網站

        使用Docker創建Web服務詳解

        1、目的

        在已經掌握docker安裝、docker倉庫的基本使用、docker鏡像和容器的基本操作和相互轉化的基礎上,可嘗試通過docker搭建一個web服務器,便于分布式部署或快速移植web服務器。

        通過本文的學習,可以了解學習docker容器與宿主機的文件和端口映射,進一步熟練使用docker容器。

        2、修改容器,搭建簡單的web服務

        安裝nginx

        # apt-get install nginx

        修改nginx配置文件

        # vi /etc/nginx/conf.d/web.conf

        # server的配置
        server {
            # 監聽端口
            listen 81;
            # 項目的初始化頁面
            location / {
              root  /home/visual/nginx_web/;
              index index.html;
            }
        }

        修改開機啟動項

        # vi /etc/rc.local

        ####!/bin/sh -e
        #
        # rc.local
        #
        # This script is executed at the end of each multiuser runlevel.
        # Make sure that the script will “exit 0” on success or any other
        # value on error.
        #
        # In order to enable or disable this script just change the execution
        # bits.
        #
        # By default this script does nothing.

        service ssh start
        service nginx start

        /bin/bash

        exit 0

        3、創建鏡像,便于再次啟動容器

        通過commit操作創建docker鏡像文件,上篇文章已經講過,命令如下

        linuxidc@linuxidc:~/docker$ docker ps -a
        CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS                      PORTS              NAMES
        568e5204fff3        Ubuntu              “/bin/sh -c ‘while…”  40 hours ago        Exited (137) 38 hours ago                      kind_khorana
        00f561d97811        ubuntu              “/bin/echo hello w…”  40 hours ago        Exited (0) 40 hours ago                        nifty_mcnulty
        93a1b9d39683        ubuntu              “bash”                  40 hours ago        Exited (0) 5 seconds ago                        zealous_noether
        abdc084f9821        hello-world        “/hello”                41 hours ago        Exited (0) 18 hours ago                        sleepy_clarke
        linuxidc@linuxidc:~/docker$ docker commit 93a1b9d39683 learn/nginx:v2
        sha256:ab92edd21696770f1eb37e9229b6834094a8d3381e5b4e9edc620b7927004bb4
        linuxidc@linuxidc:~/docker$ docker images
        REPOSITORY                                      TAG                IMAGE ID            CREATED            SIZE
        learn/nginx                                      v2                  ab92edd21696        5 seconds ago      370MB
        learn/visual_init                                v1                  56a4eab7dc5b        37 hours ago        321MB
        registry.cn-beijing.aliyuncs.com/zhangsp/ai      visual_init        56a4eab7dc5b        37 hours ago        321MB
        ubuntu                                          latest              14f60031763d        5 days ago          120MB
        hello-world                                      latest              1815c82652c0        5 weeks ago        1.84kB

        4、啟動新容器

        使用新創建的鏡像learn/nginx:v2,啟動新容器

        # docker run -it –name nginx_test -h docker-nginx -p 8001:81 -p 8000:80 -v /home/linuxidc/docker/nginx_web/:/home/visual/nginx_web/ learn/nginx:v2 /bin/sh /etc/rc.local

        啟動容器的參數介紹

            -it,交互方式啟動
            –name nginx_test,指定新容器的名稱是nginx_test
            -h docker-nginx,指定新容器的主機名是docker-nginx
            -p 8001:81 -p 8000:80,指定宿主機與docker容器的端口映射,宿主機的8001對應docker容器的81,宿主機的8000對應docker容器的80
            -v /home/linuxidc/docker/nginx_web/:/home/visual/nginx_web/,指定宿主機與docker容器的文件映射,宿主機的/home/linuxidc/docker/nginx_web/ 對應docker容器的 /home/visual/nginx_web/
            learn/nginx:v2,指定啟動容器對應的鏡像是learn/nginx:v2,可以是鏡像ID
            /bin/sh /etc/rc.local,指定容器啟動后,執行shell腳本是/etc/rc.local

        查看docker容器,容器nginx_test處于up狀態,說明啟動正常

        linuxidc@linuxidc:~/docker/nginx_web$ docker ps -a
        CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS                        PORTS                                        NAMES
        cbbbe7a5d47a        learn/nginx:v2      “/bin/sh /etc/rc.l…”  25 minutes ago      Up 24 minutes                  0.0.0.0:8000->80/tcp, 0.0.0.0:8001->81/tcp  nginx_test
        966bd52b72da        ubuntu              “/bin/sh -c ‘while…”  42 hours ago        Exited (137) 40 hours ago                                                  stupefied_knuth
        00f561d97811        ubuntu              “/bin/echo hello w…”  42 hours ago        Exited (0) 42 hours ago                                                    nifty_mcnulty
        93a1b9d39683        ubuntu              “bash”                  43 hours ago        Exited (0) About an hour ago                                                zealous_noether
        abdc084f9821        hello-world        “/hello”                43 hours ago        Exited (0) 20 hours ago                                                    sleepy_clarke

        5、測試docker_nginx是否正常

        通過瀏覽器測試8001端口

        使用Docker創建Web服務詳解

        通過瀏覽器測試8000端口

        使用Docker創建Web服務詳解

        修改宿主機的文件,并測試8001端口

        修改宿主機的/home/linuxidc/docker/nginx_web/index.html文件

        linuxidc@linuxidc:~/docker/nginx_web$ vi index.html
        <!DOCTYPE html>
        <html>
        <head>
        <title>Welcome to nginx! I am in docker!</title>
        <style>
            body {
                width: 35em;
                margin: 0 auto;
                font-family: Tahoma, Verdana, Arial, sans-serif;
            }
        </style>
        </head>
        <body>
        <h1>Welcome to nginx! I am in Docker!</h1>
        <p>If you see this page, the nginx web server is successfully installed and
        working. Further configuration is required.</p>

        <p>For online documentation and support please refer to
        <a href=”http://nginx.org/”>nginx.org</a>.<br/>
        Commercial support is available at
        <a href=”http://nginx.com/”>nginx.com</a>.</p>

        <p><em>Thank you for using nginx.</em></p>
        </body>
        </html>

        通過瀏覽器測試8001端口,發現“Welcome to nginx! I am in docker!”,說明內容已經修改,使用docker做為web服務器的功能已經OK

        使用Docker創建Web服務詳解

         

        更多Docker相關教程見以下內容: 

        Linux 下的 Docker 安裝與使用  http://m.0106606.com/Linux/2018-06/152996.htm
        CentOS 7安裝Docker應用容器引擎 http://m.0106606.com/Linux/2018-06/152856.htm
        CentOS 7.3環境安裝Docker 18.03 http://m.0106606.com/Linux/2018-05/152356.htm
        使用Docker分分鐘啟動常用應用  http://m.0106606.com/Linux/2017-04/142649.htm
        CentOS 7使用Docker搭建GitLab服務器  http://m.0106606.com/Linux/2018-04/151725.htm
        30分鐘帶你了解Docker  http://m.0106606.com/Linux/2018-08/153346.htm

        Docker容器常見操作詳解  http://m.0106606.com/Linux/2018-08/153685.htm

        Docker發布應用程序指南 http://m.0106606.com/Linux/2018-08/153405.htm

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 免费视频精品一区二区| 亚洲精品成人无码中文毛片不卡| 午夜成人精品福利网站在线观看 | 亚洲精品综合一二三区在线| 无码日韩精品一区二区免费暖暖 | 亚洲精品午夜国产VA久久成人| 亚洲日韩精品欧美一区二区| 国产精品亚洲成在人线| 亚洲欧洲国产精品香蕉网| 免费视频成人国产精品网站| 国产亚洲精品激情都市| 自怕偷自怕亚洲精品| 国内精品51视频在线观看| 久久国产精品成人片免费| 亚洲精品乱码久久久久久中文字幕| 久久精品亚洲精品国产欧美| 国产精品单位女同事在线| 麻豆精品久久久一区二区| 久久99国产精品久久| 精品国产第1页| 国产精品2019| 99re国产精品视频首页| 国语精品一区二区三区| 乱码精品一区二区三区| 亚洲精品无码不卡在线播HE| 亚洲精品夜夜夜妓女网| 午夜精品一区二区三区免费视频| 亚洲精品自在在线观看| 无码人妻精品一区二区三区东京热| 综合人妻久久一区二区精品| 亚洲欧美精品一区久久中文字幕| 四虎成人精品| 亚洲精品美女久久777777| 日产精品久久久久久久| 精品亚洲成a人片在线观看少妇| 亚洲精品无码mv在线观看网站 | 久久亚洲中文字幕精品有坂深雪| 亚洲国产另类久久久精品| 亚洲国产第一站精品蜜芽| 日韩精品无码AV成人观看| 精品福利视频一区二区三区|