docker 中運行 mysql


在宿主機Host的終端執行:
1、 搜索docker鏡像倉庫中提供的mysql
docker search mysql

2、下載mysql鏡像
docker pull mysql

3、改變目錄權限,非必須
可以先執行第四步,到第五步時發現容器的狀態時是Exited時,執行第六步來查看原因。
如果提示無權限訪問時,則需要補上本步驟,這是因為開啟SELinux enabled時權限控制更嚴格所導致
chcon -Rt svirt_sandbox_file_t /data/mysql

4、創建並運行mysql容器
docker run -d --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql
無論是否運行成功,均會得到容器ID
稍微解釋一下:

 -d 表示在后台運行容器
 --name 表示為后台運行的容器取別名,便於后續的操作
 -v 用來指定數據卷,將正在運行mysql的容器上的/var/lib/mysql目錄映射到宿主機上的/data/mysql目錄 

5、查看容器的運行狀態
docker psdocker ps -a

CONTAINER ID   #容器ID IMAGE #鏡像名稱 COMMAND #執行的cmd CREATED #創建了多久 STATUS #容器的status:Up(正在運行) or Exited(不在運行) PORTS #端口映射情況,默認tcp NAMES #容器別名 

6、查看容器的運行日志
docker logs myMysql
有些系統中,如果沒有設置第三步,可能運行mysql會失敗,失敗原因可以通過查看容器的運行日志來了解。

7、與容器進行交互
docker exec -t -i myMysql /bin/bash
執行之后會獲得容器內的/bin/bash終端,
root@35e1fab30962:/#,其中35e1fab30962是容器ID
此時就可以在這里執行mysql命令了
Demo:

root@35e1fab30962:/# mysql -uroot -p #輸入之前設置的密碼,此處為123456,輸入正確后進入到mysql中 mysql> use mysql; mysql> select * from user\G; 

8、停止正在運行的mysql容器
docker stop myMysql

9、啟動已創建的mysql容器
docker start myMysql

10、mysql容器的數據導出

docker exec myMysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql 

110、更多docker命令幫助,請使用
docker --helpdocker cmd --help

999、更多docker中mysql的使用,請參見



作者:陌陌的日記
鏈接:https://www.jianshu.com/p/dbc59702f0dd
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

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



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