Mysql已經提供了Docker image,可以很方便開啟一個mysql服務器。官方介紹了兩種連接方式,
- 在其他App Docker 容器中通過--link訪問Mysql服務端容器
- 啟動另外一個Mysql容器當做客戶端,通過--link訪問Mysql服務端容器
這兩種方式的客戶端都在容器里面,如果客戶端不通過Docker容器訪問也是很簡單的:
1. Pull Mysql Image
$ docker pull mysql
前提是已經安裝Docker,這個可以參考docker官網,步驟很詳細。
2. 創建外部數據掛載點
$ sudo mkdir -p /var/docker_data/mysql/data $ sudo chmod 775 -R /var/docker_data/msyql/
除了這種方式,也可選擇使用Docker數據卷。
3. 啟動Mysql容器
通過-e參數可以設定一下Mysql服務端的參數,這里設置了root的密碼,並且創建了一個密碼為dev的用戶dev。
$ docker run -p 3306:3306 --name mysql-test -v /var/docker_data/mysql/data/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_USER=dev -e MYSQL_PASSWORD=dev -d mysql #查看docker是否啟動 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8ef529a9a1c mysql "docker-entrypoint.sh" 18 seconds ago Up 17 seconds 0.0.0.0:3306->3306/tcp mysql-test
4. 在宿主機鏈接Mysql容器
使用PORTS顯示的ip地址部分作為 -h 參數,如果是不是在宿主機上,則使用宿主機的IP地址。
$ mysql -h 0.0.0.0 -u root -p