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

        使用Docker搭建Tomcat運行環境

        1 準備宿主系統

        準備一個 CentOS 7操作系統,具體要求如下:

        必須是 64 位操作系統
        建議內核在 3.8 以上
        通過以下命令查看您的 CentOS 內核:

        # uname -r

        2 安裝Docker

        # yum install docker
        可使用以下命令,查看 Docker 是否安裝成功:

        # docker version
        若輸出了 Docker 的版本號,則說明安裝成功了,可通過以下命令啟動 Docker 服務:

        # systemctl start  docker.service
        一旦 Docker 服務啟動完畢,就可以開始使用 Docker 了。

        3 下載鏡像

        以 CentOS 為例,下載一個 CentOS 的鏡像:

        # docker pull centos
        下載完成后,使用命令查看本地鏡像列表:

        # docker images
        REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
        centos              latest              e934aafc2206        2 weeks ago        199MB

        4 宿主機創建/root/software/目錄,并把安裝包放在該目錄下

        使用Docker搭建Tomcat運行環境

        5 啟動容器

        容器是在鏡像的基礎上來運行的,一旦容器啟動了,我們就可以登錄到容器中,安裝自己所需的軟件或應用程序。

        使用以下命令即可啟動容器:

        # docker run -i -t -v /root/software/:/mnt/software/ e934 /bin/bash
        命令包含以下三個部分:

        docker run <相關參數> <鏡像 ID> <初始命令>
        其中,相關參數包括:

        -i:表示以“交互模式”運行容器
        -t:表示容器啟動后會進入其命令行
        -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>
        本例中,所有安裝程序都放在了宿主機的/root/software/目錄下,現在需要將其掛載到容器的/mnt/software/目錄下。

        # cd /mnt/software/
        # pwd
        /mnt/software
         
        # ls
        apache-tomcat-7.0.81.tar.gz  jdk-8u121-linux-x64.tar.gz
        初始命令表示一旦容器啟動,需要運行的命令,此時使用“/bin/bash”,表示啟動后直接進入bash shell。

        6 安裝軟件

        為了搭建 Java Web 運行環境,需要安裝 JDK 與 Tomcat,下面的過程均在容器內部進行。本例中,選擇/opt/目錄作為安裝目錄,首先需要通過cd /opt/命令進入該目錄。

        6.1 安裝JDK

        首先,解壓 JDK 程序包:

        # tar -zxf /mnt/software/jdk-8u121-linux-x64.tar.gz -C .

        然后,移動 JDK 目錄:

        # mv jdk1.8.0_121/ /opt/jdk/

        6.2 安裝Tomcat

        首先,解壓Tomcat程序包:

        # tar -zxf /mnt/software/apache-tomcat-7.0.81.tar.gz -C .

        然后,移動Tomcat目錄:

        # mv apache-tomcat-7.0.81/ /opt/tomcat/

        6.3 編寫運行腳本

        編寫一個運行腳本,當啟動容器時,運行該腳本,啟動 Tomcat。

        首先,創建運行腳本:

        # touch /root/run.sh
         
        # vi /root/run.sh
        然后,編輯腳本內容如下:

        #!/bin/bash
         
        export JAVA_HOME=/opt/jdk/
        export PATH=$JAVA_HOME/bin:$PATH
         
        sh /opt/tomcat/bin/catalina.sh run
        最后,為運行腳本添加執行權限:

        # chmod u+x /root/run.sh

        7 退出容器

        當以上步驟全部完成后,可使用exit命令,退出容器。

        隨后,可使用如下命令查看正在運行的容器:

        docker ps
        此時,應該看不到任何正在運行的程序,因為剛才已經使用exit命令退出的容器,此時容器處于停止狀態,可使用如下命令查看所有容器:

        # docker ps -a
        CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS                          PORTS                    NAMES
        d4e3a062ab05        e934                “/bin/bash”              38 minutes ago      Exited (0) About a minute ago                              lucid_einstein
        記住以上CONTAINER ID(容器 ID),隨后將通過該容器,創建一個可運行 Tomcat 鏡像。

        8 創建Tomcat鏡像

        使用以下命令,根據某個“容器 ID”來創建一個新的“鏡像”:

        # docker commit d4e3 mytomcat:1.0
        sha256:c5ef8dacbf3eead5ea2b9fc3c1050a395863c6db0abd0eb7d6dee8ed46a31ffd
         
        # docker images
        REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
        mytomcat            1.0                c5ef8dacbf3e        18 seconds ago      583MB
        centos              latest              e934aafc2206        2 weeks ago        199MB
        該容器的ID是d4e3,所創建的鏡像名是“mytomcat:1.0”,隨后可使用鏡像來啟動Tomcat容器。

        9 啟動Tomcat容器

        首先,新建/root/webapps/ROOT目錄,

        # cd /root
        # mkdir webapps
        # cd webapps/
        # mkdir ROOT
        # cd ROOT/
        # vi index.html
        并在該目錄下創建一個index.html文件,文件內容如下:

        <html>
        <body>
        <h2>Hello World!</h2>
        </body>
        </html>
        正如上面所描述的那樣,可以通過“鏡像名”或“鏡像 ID”來啟動容器,與上次啟動容器不同的是,現在不再進入容器的命令行,而是直接啟動容器內部的 Tomcat 服務。此時,需要使用以下命令:

        # docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ –name mytomcat_1 mytomcat:1.0 /root/run.sh
        其中,相關參數包括:

        -d:表示以“守護模式”執行/root/run.sh腳本,此時 Tomcat 控制臺不會出現在輸出終端上。
        -p:表示宿主機與容器的端口映射,此時將容器內部的 8080 端口映射為宿主機的 58080 端口,這樣就向外界暴露了 58080 端口,可通過 Docker 網橋來訪問容器內部的 8080 端口了。
        -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>
        –name:表示容器名稱,用一個有意義的名稱命名即可。
        在瀏覽器中,輸入宿主IP和端口號,即可訪問 Tomcat:

        使用Docker搭建Tomcat運行環境

        10 最終示意圖:

        使用Docker搭建Tomcat運行環境

        11 停止Tomcat容器

        # docker ps -a
        CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS                          PORTS                    NAMES
        54215923125b        mytomcat:1.0        “/root/run.sh”          3 minutes ago      Up 3 minutes                    0.0.0.0:58080->8080/tcp  mytomcat_1

        # docker stop 5421

        12 移除容器

        # docker ps -a
        CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS                          PORTS                    NAMES
        54215923125b        mytomcat:1.0        “/root/run.sh”          3 minutes ago      Exited (137) 2 seconds ago                                mytomcat_1
         
        # docker rm 5421
        5421
         
        # docker ps -a
        CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS                          PORTS                    NAMES

        13 移除鏡像

        # docker images
        REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
        mytomcat            1.0                c5ef8dacbf3e        20 minutes ago      583MB
        centos              latest              e934aafc2206        2 weeks ago        199MB
         
        # docker rmi c5ef
        Untagged: mytomcat:1.0
        Untagged: mytomcat@sha256:d949cbb93a58de27eec4c911f27b9f09edeb3d3ce57cf5ce77d4745211c947f6
        Deleted: sha256:c5ef8dacbf3e7ce916f57c52c16de3892c724996b5e30ca0d141c81897d9a06c
        Deleted: sha256:7e62d1c2f904e8de3fadc6b01edea96bcb324634f0df514cc9297b1bf11d2f06
         
        # docker images
        REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
        centos              latest              e934aafc2206        2 weeks ago        199MB

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

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

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

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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品亚洲综合专区片高清久久久| 人妻少妇偷人精品无码| 亚洲精品无码专区在线在线播放| 国产精品久久国产精麻豆99网站| 欧美精品一二区| 中文字幕亚洲精品| 大伊香蕉精品一区视频在线| 人妻少妇精品系列| 国产精品偷窥熟女精品视频 | 无码精品视频一区二区三区| 国产专区日韩精品欧美色| 精品国产第1页| 国产精品亚洲а∨无码播放| 中文字幕久久精品| 日韩AV毛片精品久久久| 国产精品午夜福利在线无码| 8050免费午夜一级国产精品| 精品国产一区二区三区久久| 国产午夜精品无码| 久久精品麻豆日日躁夜夜躁| 亚洲国产精品日韩| 老年人精品视频在线| 国产精品推荐天天看天天爽| 99热热久久这里只有精品68| 亚洲精品福利视频| 久久99久久99小草精品免视看 | 国产叼嘿久久精品久久| 九九热在线精品视频| xxx国产精品视频| 国99精品无码一区二区三区| 国产精品免费高清在线观看| 精品国偷自产在线| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 国产成人精品午夜福利| 热re99久久6国产精品免费| 亚洲国产精品一区二区久久hs| 免费精品精品国产欧美在线欧美高清免费一级在线 | 国产大片91精品免费观看不卡| 久久亚洲欧美国产精品| 亚洲AV无码成人精品区天堂 | 国产精品福利片免费看|