![](/img/trans.png)
[英]Can't Connect To MySql Which is Installed As Docker Container Inside Vagrant VM
[英]Connect to MySQL Server inside Docker container in an Microsoft Azure VM
我在Microsoft Azure上創建了Ubuntu 15.10 VM。 在服務器上,我創建了一個運行MySQL的docker容器(IP:172.17.0.2)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4255233555db mysql "/entrypoint.sh mysql" 16 hours ago Up 16 hours 0.0.0.0:3306->3306/tcp compose_mysql_1
我可以通過ssh連接到VM,然后訪問在docker容器中運行的MySQL-Server。
現在,我想從外部訪問MySQL-Server,以便我在Microsoft Azure(相同的資源組)上的WebApp可以連接到數據庫。
我已經將虛擬機的端口3306轉發到了172.17.0.2:3306。
使用本地計算機上的MySQL-Workbench,我無法連接到MySQL-Server。 實際上,我不確定需要提供哪些憑據才能進行連接。 我嘗試使用VM的公共IP和MySQL-Server的root密碼進行嘗試。 但是我不應該在某處也為虛擬機本身提供密碼和用戶嗎?
我也很難運行和訪問官方的MySQL映像。 sameersbn / docker-mysql提供了一個簡單易用的包裝程序,可讓您指定要設置的用戶和數據庫。
我的docker-compose文件包含以下部分:
db:
image: sameersbn/mysql:latest
volumes:
- /opt/mysql/data:/var/lib/mysql
environment:
- DB_USER=${DB_USER}
- DB_PASS=${DB_PASS}
- DB_NAME=theDatabaseName
ports:
- "3306:3306"
細節:
image
-上述包裝器。 volumes
-在持久主機上映射數據。 environment
-定義數據庫設置的變量。 可以像使用DB_NAME
一樣提供純文本,也可以通過${...}
語法訪問環境變量。 ports
映射主機上的端口3306,以便可以對其進行遠程訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.