• <td id="c1e2m"><strike id="c1e2m"></strike></td><acronym id="c1e2m"><strong id="c1e2m"></strong></acronym>

    <acronym id="c1e2m"><label id="c1e2m"></label></acronym>

    <td id="c1e2m"></td>

      <p id="c1e2m"><strong id="c1e2m"><xmp id="c1e2m"></xmp></strong></p>
        <td id="c1e2m"><ruby id="c1e2m"></ruby></td>
      1. <p id="c1e2m"></p>
        您的位置:首頁 >聚焦 >

        熱門看點:Docker學習11-Docker常規方式安裝軟件

        2022-12-17 15:41:36    來源:程序員客棧

        本文咱們將通過按照Tomcat、按照MySQL、安裝Redis這三個實戰安裝,來熟悉在docker中怎么安裝軟件,咱們使用端口映射,及數據卷的使用場景


        (資料圖片僅供參考)

        大家好,我是凱哥Java(kaigejava),樂于分享,每日更新技術文章,歡迎大家關注“凱哥Java”,及時了解更多。讓我們一起學Java。也歡迎大家有事沒事就來和凱哥聊聊~~~

        安裝的總體步驟:

        1:搜索鏡像;

        2:拉取鏡像;

        3:查看鏡像;

        4:啟動鏡像==>需要做服務斷開映射;

        5:停止鏡像;

        6:移除鏡像

        案例一:安裝tomcat

        我們可以看到重啟成功了。

        這是為什么?

        因為新版tomcat做了修改。我們進入到tomcat目錄:

        會發現有webapps及webapps.dist兩個目錄。我們知道,tomcat的應用一般都是存放在webapps中的。

        我們進入到webapps看看:

        空。

        所以,我們訪問的時候,就是404了。

        修改:將webapps目錄刪除掉,將webapps.dist修改成webapps再測試

        再次訪問:

        可以看到訪問到是tomcat10 。

        那么我想用tomcat8怎么辦?

        docker pull billygoo/tomcat8-jdk8

        docker run -d -p 8080:8080 --name tomcat8 billygoo/tomcat8-jdk8

        案例二:mysql的安裝

        本次以mysql5.7為例:

        docker pull mysql:5.7

        啟動命令公式:

        docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

        說明:-e就是設置環境變量。

        通過命令行連接到mysql:

        通過命令進入到容器中:

        docker exec -it 2303fc3dbe68 /bin/bash

        mysql -uroot -p

        OK,進入到mysql中了。

        接著我們通過命令,創建表,insert數據,然后在查詢。

        create database dockerdb01;

        use dockerdb01;

        insert into t1 values(1,"kaigejava");

        select * from t1;

        在外部的win10系統中使用Navicat連接試試 。

        mysql容器宿主機的ip:192.168.50.128.

        OK .可以連接。

        遇到的問題:

        問題一:亂碼

        當插入中文的時候,報錯

        這是為什么呢?因為docker中,默認的字符編碼導致的。

        都是latin1的字符編碼。

        問題2:刪除容器后,里面的mysql數據如何辦?

        是不是應該做個數據卷掛載。

        綜上所述,我們按照mysql應該使用以下方式:

        實戰版命令:

        docker run -d -p 3306:3306 --privileged=true -v /宿主機上mysqllog全路徑:/容器內部log路徑 -v /宿主機mysqldata全部路徑:/容器中mysqldata路徑 -v /宿主機中mysqlconf全路徑:/容器中mysqlconfLuj -e MYSQL_ROOT_PASSWORD=123456 --name mysql57 mysql:5.7

        在宿主機上創建mysql的conf文件:

        內容為:

        vim my.cnf

        [client]

        default_character_set=utf8

        [mysqld]

        collation_server=utf8_general_ci

        character_set_server=utf8

        案例命令:

        docker run -d -p 3306:3306 --privileged=true -v /root/mysql/log:/var/log/mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql57 mysql:5.7

        啟動后查看docker當前運行的容器:

        案例3:常規安裝Redis

        1:pull redis 6.0.8

        2:在宿主機創建/app/redis

        3:將任意redis.conf文件復制到宿主機的/app/redis中

        4:修改redis.conf配置文件,使其能讓外部連接

        5:啟動reids.實戰啟動命令:

        docker run -p 6379:6379 --name reids608 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

        注意:權限不足也會導致啟動redis失敗

        復制過去的redis.conf需要賦權

        重新賦權后:

        查看當前運行的容器。有reids.OK

        關鍵詞: 啟動命令 安裝軟件 這是為什么呢

        相關閱讀

        欧美视频线路在线_欧美中文字幕在线中出观看_中年美女露比自慰交配a一级片免费播放_九九精品国中文字幕在线视频

      2. <td id="c1e2m"><strike id="c1e2m"></strike></td><acronym id="c1e2m"><strong id="c1e2m"></strong></acronym>

        <acronym id="c1e2m"><label id="c1e2m"></label></acronym>

        <td id="c1e2m"></td>

          <p id="c1e2m"><strong id="c1e2m"><xmp id="c1e2m"></xmp></strong></p>
            <td id="c1e2m"><ruby id="c1e2m"></ruby></td>
          1. <p id="c1e2m"></p>