熱門看點(diǎn):Docker學(xué)習(xí)11-Docker常規(guī)方式安裝軟件
本文咱們將通過按照Tomcat、按照MySQL、安裝Redis這三個(gè)實(shí)戰(zhàn)安裝,來熟悉在docker中怎么安裝軟件,咱們使用端口映射,及數(shù)據(jù)卷的使用場(chǎng)景
(資料圖片僅供參考)
大家好,我是凱哥Java(kaigejava),樂于分享,每日更新技術(shù)文章,歡迎大家關(guān)注“凱哥Java”,及時(shí)了解更多。讓我們一起學(xué)Java。也歡迎大家有事沒事就來和凱哥聊聊~~~
安裝的總體步驟:
1:搜索鏡像;
2:拉取鏡像;
3:查看鏡像;
4:?jiǎn)?dòng)鏡像==>需要做服務(wù)斷開映射;
5:停止鏡像;
6:移除鏡像
案例一:安裝tomcat
我們可以看到重啟成功了。
這是為什么?
因?yàn)樾掳鎡omcat做了修改。我們進(jìn)入到tomcat目錄:
會(huì)發(fā)現(xiàn)有webapps及webapps.dist兩個(gè)目錄。我們知道,tomcat的應(yīng)用一般都是存放在webapps中的。
我們進(jìn)入到webapps看看:
空。
所以,我們?cè)L問的時(shí)候,就是404了。
修改:將webapps目錄刪除掉,將webapps.dist修改成webapps再測(cè)試
再次訪問:
可以看到訪問到是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
啟動(dòng)命令公式:
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
說明:-e就是設(shè)置環(huán)境變量。
通過命令行連接到mysql:
通過命令進(jìn)入到容器中:
docker exec -it 2303fc3dbe68 /bin/bash
mysql -uroot -p
OK,進(jìn)入到mysql中了。
接著我們通過命令,創(chuàng)建表,insert數(shù)據(jù),然后在查詢。
create database dockerdb01;
use dockerdb01;
insert into t1 values(1,"kaigejava");
select * from t1;
在外部的win10系統(tǒng)中使用Navicat連接試試 。
mysql容器宿主機(jī)的ip:192.168.50.128.
OK .可以連接。
遇到的問題:
問題一:亂碼
當(dāng)插入中文的時(shí)候,報(bào)錯(cuò)
這是為什么呢?因?yàn)閐ocker中,默認(rèn)的字符編碼導(dǎo)致的。
都是latin1的字符編碼。
問題2:刪除容器后,里面的mysql數(shù)據(jù)如何辦?
是不是應(yīng)該做個(gè)數(shù)據(jù)卷掛載。
綜上所述,我們按照mysql應(yīng)該使用以下方式:
實(shí)戰(zhàn)版命令:
docker run -d -p 3306:3306 --privileged=true -v /宿主機(jī)上mysqllog全路徑:/容器內(nèi)部log路徑 -v /宿主機(jī)mysqldata全部路徑:/容器中mysqldata路徑 -v /宿主機(jī)中mysqlconf全路徑:/容器中mysqlconfLuj -e MYSQL_ROOT_PASSWORD=123456 --name mysql57 mysql:5.7
在宿主機(jī)上創(chuàng)建mysql的conf文件:
內(nèi)容為:
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
啟動(dòng)后查看docker當(dāng)前運(yùn)行的容器:
案例3:常規(guī)安裝Redis
1:pull redis 6.0.8
2:在宿主機(jī)創(chuàng)建/app/redis
3:將任意redis.conf文件復(fù)制到宿主機(jī)的/app/redis中
4:修改redis.conf配置文件,使其能讓外部連接
5:?jiǎn)?dòng)reids.實(shí)戰(zhàn)啟動(dòng)命令:
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
注意:權(quán)限不足也會(huì)導(dǎo)致啟動(dòng)redis失敗
復(fù)制過去的redis.conf需要賦權(quán)
重新賦權(quán)后:
查看當(dāng)前運(yùn)行的容器。有reids.OK
關(guān)鍵詞: 啟動(dòng)命令 安裝軟件 這是為什么呢
相關(guān)閱讀
-
熱門看點(diǎn):Docker學(xué)習(xí)11-Docker常規(guī)方式安裝軟件
本文咱們將通過按照Tomcat、按照MySQL、安裝Redis這三個(gè)實(shí)戰(zhàn)安裝,... -
焦點(diǎn)資訊:docker高級(jí)篇第一章-docker復(fù)...
大家好,咱們前面通過十篇的文章介紹了docker的基礎(chǔ)篇,從本篇開始... -
我跟 ChatGPT 吵起來了
什么是ChatGPT呢?我們直接來問一下ChatGPT就好啦。嗯,ChatGPT使用... -
協(xié)程這么好,它能完全代替線程么?:全球...
好多問題呀,開始回答或者提問前,其實(shí)可以看看問題本身是不是有問... -
目標(biāo)檢測(cè)系列 | 無NMS的端到端目標(biāo)檢...
全卷積檢測(cè)器放棄一對(duì)多匹配,采用一對(duì)一匹配策略實(shí)現(xiàn)端到端檢測(cè),... -
當(dāng)前時(shí)訊:自古二樓出人才,天涯論壇停...
這幾天,大家肯定看到了天涯論壇無法發(fā)帖的消息,里面的帖子的最后...