Docker是一種輕量級(jí)、可移植的容器化平臺(tái),可以簡(jiǎn)化應(yīng)用程序的部署和管理。在本文中,我們將探討如何使用Docker來(lái)搭建和部署MySQL數(shù)據(jù)庫(kù),并將數(shù)據(jù)和配置文件掛載到外部目錄,以實(shí)現(xiàn)數(shù)據(jù)持久化和方便的配置管理。
1: 安裝Docker
首先,確保你的系統(tǒng)上已經(jīng)安裝了Docker。你可以根據(jù)官方文檔安裝適用于你系統(tǒng)的Docker版本
2、拉取mysql鏡像
docker search mysql 查詢鏡像 可省略這一步
docker pull mysql 拉取鏡像,不帶版本默認(rèn)拉取最新版本 指定版本如docker pull ubuntu/mysql
3、創(chuàng)建待掛載文件
4、創(chuàng)建MySQL容器
docker run --restart=always --privileged=true -p 3306:3306 --name mysql -v /usr/mysqldata/log:/var/log/mysql -v /usr/mysqldata/data:/var/lib/mysql -v /usr/mysqldata/conf:/etc/mysql -v /usr/mysqldata/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=20240110 -d mysql
命令解釋
docker run: 運(yùn)行Docker容器的命令。
--restart=always: 指定容器在退出時(shí)總是重新啟動(dòng)。這意味著,無(wú)論容器是正常退出還是異常退出,Docker將自動(dòng)重新啟動(dòng)這個(gè)容器。
--privileged=true: 賦予容器特權(quán),允許它在主機(jī)上執(zhí)行一些敏感操作,這通常是出于一些特殊需求的考慮,但需要注意潛在的安全風(fēng)險(xiǎn)。
-p 3306:3306: 將主機(jī)的端口3306映射到容器的端口3306,這樣外部系統(tǒng)可以通過(guò)主機(jī)的3306端口訪問(wèn)MySQL服務(wù)。
--name mysql: 為容器指定一個(gè)名稱,這里是"mysql"。
-v /usr/mysqldata/log:/var/log/mysql: 將主機(jī)上的/usr/mysqldata/log目錄映射到容器內(nèi)的/var/log/mysql目錄,用于存儲(chǔ)MySQL的日志文件。
-v /usr/mysqldata/data:/var/lib/mysql: 將主機(jī)上的/usr/mysqldata/data目錄映射到容器內(nèi)的/var/lib/mysql目錄,用于存儲(chǔ)MySQL的數(shù)據(jù)文件。
-v /usr/mysqldata/conf:/etc/mysql: 將主機(jī)上的/usr/mysqldata/conf目錄映射到容器內(nèi)的/etc/mysql目錄,用于存儲(chǔ)MySQL的配置文件。
-v /usr/mysqldata/my.cnf:/etc/mysql/my.cnf: 將主機(jī)上的/usr/mysqldata/my.cnf文件映射到容器內(nèi)的/etc/mysql/my.cnf文件,這是MySQL的配置文件。
-e MYSQL_ROOT_PASSWORD=20240110: 設(shè)置MySQL的root用戶密碼為"20240110"。
-d mysql: 以后臺(tái)(detached)模式運(yùn)行MySQL容器。
掛載外部目錄的理由:
- 數(shù)據(jù)持久性和靈活性。
- 容器中MySQL數(shù)據(jù)的易備份和恢復(fù)。
如當(dāng)容器宕機(jī)或者不小心移除,可重新起一個(gè)容器并掛載之前的文件,之前的數(shù)據(jù)依然存在。
5、驗(yàn)證MySQL容器(查看容器情況)
docker ps -a
-a 選項(xiàng)表示顯示所有容器,包括已經(jīng)停止運(yùn)行的容器。
這個(gè)命令會(huì)列出所有的Docker容器,包括正在運(yùn)行的和已經(jīng)停止的。對(duì)于每個(gè)容器,你將看到容器的ID、名稱、創(chuàng)建時(shí)間、狀態(tài)、端口映射等信息。
docker ps
這個(gè)命令默認(rèn)只顯示正在運(yùn)行的容器。
類似于docker ps -a,但只列出正在運(yùn)行的容器,而不包括已經(jīng)停止的容器。
因?yàn)槲沂侵熬痛罱ê玫?,這里可以看到status已經(jīng)運(yùn)行六個(gè)月了
然后就可以使用navicat進(jìn)行連接啦
點(diǎn)擊測(cè)試連接顯示成功就可以在項(xiàng)目中使用了文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-796875.html
docker拉鏡像、創(chuàng)建容器、停止容器、移除容器、構(gòu)建鏡像
docker搭建rabbitmq
docker部署showdoc詳細(xì)步驟
在docker中搭建部署clickhouse
docker搭建mongodb并掛載外部文件
docker搭建部署minio 存儲(chǔ)文件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-796875.html
到了這里,關(guān)于docker搭建部署mysql并掛載指定目錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!