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