農林漁牧網

您現在的位置是:首頁 > 農業

Docker學習系列11-Docker常規方式安裝軟體

2022-12-27由 凱哥Java 發表于 農業

批處理技術有什麼

本文咱們將透過按照Tomcat、按照MySQL、安裝Redis這三個實戰安裝,來熟悉在docker中怎麼安裝軟體,咱們使用埠對映,及資料卷的使用場景

Docker學習系列11-Docker常規方式安裝軟體

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

安裝的總體步驟:

1:搜尋映象;

2:拉取映象;

3:檢視映象;

4:啟動映象==>需要做服務斷開對映;

5:停止映象;

6:移除映象

Docker學習系列11-Docker常規方式安裝軟體

案例一:安裝tomcat

Docker學習系列11-Docker常規方式安裝軟體

Docker學習系列11-Docker常規方式安裝軟體

Docker學習系列11-Docker常規方式安裝軟體

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

Docker學習系列11-Docker常規方式安裝軟體

這是為什麼?

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

Docker學習系列11-Docker常規方式安裝軟體

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

我們進入到webapps看看:

Docker學習系列11-Docker常規方式安裝軟體

空。

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

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

Docker學習系列11-Docker常規方式安裝軟體

Docker學習系列11-Docker常規方式安裝軟體

再次訪問:

可以看到訪問到是tomcat10 。

那麼我想用tomcat8怎麼辦?

docker pull billygoo/tomcat8-jdk8

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

Docker學習系列11-Docker常規方式安裝軟體

案例二:mysql的安裝

本次以mysql5。7為例:

docker pull mysql:5。7

Docker學習系列11-Docker常規方式安裝軟體

啟動命令公式:

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5。7

說明:-e就是設定環境變數。

Docker學習系列11-Docker常規方式安裝軟體

透過命令列連線到mysql:

透過命令進入到容器中:

docker exec -it 2303fc3dbe68 /bin/bash

Docker學習系列11-Docker常規方式安裝軟體

mysql -uroot -p

Docker學習系列11-Docker常規方式安裝軟體

OK,進入到mysql中了。

Docker學習系列11-Docker常規方式安裝軟體

接著我們透過命令,建立表,insert資料,然後在查詢。

create database dockerdb01;

use dockerdb01;

insert into t1 values(1,‘kaigejava’);

select * from t1;

Docker學習系列11-Docker常規方式安裝軟體

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

mysql容器宿主機的ip:192。168。50。128。

Docker學習系列11-Docker常規方式安裝軟體

OK 。可以連線。

遇到的問題:

問題一:亂碼

當插入中文的時候,報錯

Docker學習系列11-Docker常規方式安裝軟體

這是為什麼呢?因為docker中,預設的字元編碼導致的。

Docker學習系列11-Docker常規方式安裝軟體

都是latin1的字元編碼。

問題2:刪除容器後,裡面的mysql資料如何辦?

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

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

Docker學習系列11-Docker常規方式安裝軟體

實戰版命令:

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學習系列11-Docker常規方式安裝軟體

案例命令:

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當前執行的容器:

Docker學習系列11-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

Docker學習系列11-Docker常規方式安裝軟體

Docker學習系列11-Docker常規方式安裝軟體

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

複製過去的redis.conf需要賦權

Docker學習系列11-Docker常規方式安裝軟體

Docker學習系列11-Docker常規方式安裝軟體

重新賦權後:

Docker學習系列11-Docker常規方式安裝軟體

檢視當前執行的容器。有reids。OK