centos安裝docker的方法可以到https://docs.docker.com/engine/install/centos/參考
本文中操作系統用的是centos7
這裏用的映象爲mysql的最新版本,如果需要別的版本的mysql,可以自行去docker hub中找到自己想要下載的mysql版本
冒號後跟隨的是版本好,我這裏使用的是最新版本
[root@localhost ~]# docker pull mysql:latest
這裏如果用的最新的mysql版本,遇到了個小問題,如果沒有耐心的夥伴可以直接看下一個標題
docker run -p 3306:3306 --name mysql -v /docker_data/mysql/log:/var/log/mysql -v /docker_data/mysql/data:/var/lib/mysql -v /docker_data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=724055 -d mysql:latest
上述建立mysql範例的命令中
參數 | 說明 |
-p 3306:3306 | 將容器的3306埠對映到主機的3306埠 |
--name mysql | 給範例起名 |
-v /docker_data/mysql/log:/var/log/mysql | 將容器中的/var/log/mysql 掛載到宿主機的/docker_data/mysql/log |
-v /docker_data/mysql/data:/var/lib/mysql | |
-v /docker_data/mysql/conf:/etc/mysql | |
-e MYSQL_ROOT_PASSWORD=724055 | 給範例的root使用者指定密碼 |
[root@localhost ~]# docker ps -a
我們看到docker的狀態爲Exited,並非Up,由此可知範例是啓動失敗了
檢視日誌(最後面的mysql爲我們建立範例時給的範例名),可以看出是因爲容器中只有/var/lib/mysql-files目錄並沒有我們所指定的/var/lib/mysql目錄
[root@localhost ~]# docker logs mysql
刪除範例重建(最後的字串是範例id),可以看到mysql範例已經成功啓動
[root@localhost ~]# docker rm -f 1c6827c773b3
[root@localhost ~]# docker run -p 3306:3306 --name mysql -v /docker_data/mysql/log:/var/log/mysql -v /docker_data/mysql/data:/var/lib/mysql-files -v /docker_data/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=724055 -d mysql:latest