要讓Docker容器訪問宿主機數據庫,可以使用Docker的網絡功能來實現。
以下是一個使用Docker網絡連接宿主機數據庫的示例:
docker network create mynetwork
docker run -d --name mydb --network mynetwork -e MYSQL_ROOT_PASSWORD=password mysql
這將創建一個名為mydb的MySQL容器,并將其連接到mynetwork網絡中。
docker run -it --name myapp --network mynetwork myappimage
這將創建一個名為myapp的應用容器,并將其連接到mynetwork網絡中。
請注意,宿主機的IP地址可能會因為網絡環境的不同而有所變化。可以使用以下命令來查找宿主機的IP地址:
docker network inspect bridge
在輸出的結果中,可以找到宿主機的IP地址。
這樣,應用容器就能夠通過Docker網絡訪問宿主機數據庫了。請確保宿主機的防火墻設置允許從Docker網絡訪問相應的數據庫端口。