Docker 訪問宿主服務路由配置及link實現容器間訪問
阿新 • • 發佈:2018-11-09
宿主機器不能直接ping容器IP,容器本身內部如果設定的127.0.0.1亦指其容器本身,如果容器需要訪問宿主,此時不能簡單的使用127.0.0.1而應該使用宿主的內網IP地址或公網地址。
構建和執行服務和資料庫容器
通過Dockerfile構建:
docker build -t rtvsweb:publish -f RTVSWeb/Dockerfile . docker run -it --privileged=true --link mysql5.7:mysql5.7 -v D:\DockerWorkspace\rtvsweb:/MyData -e MyDataPath=/MyData -p 38067:80 -p 44383:443 -p 18000:18000 -p 18002:18002 -p 19700:19700 -p 19702:19702 -p 19703:19703 rtvsweb:publish
我本地執行的效果如下:
新增容器與主機的路由規則
172.17.0.1是預設的容器閘道器。
測試應用容器訪問資料庫容器
注意:mysql資料庫表的大小寫,忽略這個問題可能會導致資料庫訪問異常。
使用容器訪問MySQL配置如下:
本地IP地址172.16.9.299
link容器之間連線訪問
配置資料庫訪問源地址為--link 配置的名稱:
重啟容器:
注:容器之間訪問都可以通過宿主來操作,IP埠port對映即可。