docker 啟動mysql 掛載宿主機目錄


在使用docker run 運行鏡像獲取容器時,有些容器會自動產生一些數據,為了這些數據會因為container (容器)的消失而消失,保證數據的安全,比如mysql 容器在運行中產生的一些表的數據,有一天我如果使用docker rm 將容器刪除那么數據就丟失了。為了這個原因就就的將容器中的目錄掛載到宿主機,以保證數據的安全

 

首先在docker hub中pull mysql 鏡像

 

其次創建mysql持久化文件目錄:通常只需要data 和conf 

啟動容器

docker run -itd --name mysql5.7 -p 3306:3306 --mount type=bind,src=/usr/local/src/data,dst=/var/lib/mysql --mount type=bind,src=/usr/local/src/conf,dst=/etc/mysql/conf.d --mount type=bind,src=/usr/local/src/logs,dst=/var/log --privileged=true -e MYSQL_ROOT_PASSWORD=admin123 mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode-ci

 

--name :設置啟動容器的名字

--mount 綁定數據目錄和服務器配置文件

-p 端口映射 格式為: 宿主機端口:容器端口

-e MYSQL_ROOT_PASSWORD 設置數據庫密碼

--chaeacter-set-server 設置編碼

--collation-server 設置編碼

--privileged=true:容器內的root擁有真正root權限,否則容器內root只是外部普通用戶權限

 

檢查配置信息docker inspect xxx

在輸出的json格式中找到

mounts 簡直查看source 和 target 的值是否為mount 綁定的目錄

 

啟動8.0 目錄掛載

docker run -p 3307:3306 -v /opt/mysql8/conf:/etc/mysql/conf.d -v /opt/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=admin123 --name mysql8 -d mysql:8.0

 

參考鏈接:https://www.lmaye.com/2019/05/22/20190522162930/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM