1. 程式人生 > >Docker 訪問宿主服務路由配置及link實現容器間訪問

Docker 訪問宿主服務路由配置及link實現容器間訪問

宿主機器不能直接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對映即可。