docker 中運行 mysql

在宿主機Host的終端執行:1、 搜索docker鏡像倉庫中提供的mysqldocker 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稍微解釋一下:

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

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

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

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

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

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

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

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

10、mysql容器的數據導出

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

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

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


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


分享到:


相關文章: