需求:
1:本機(jī)訪問(wèn)容器中的應(yīng)用
2:其他機(jī)器訪問(wèn)容器中的應(yīng)用
3:容器B中訪問(wèn)容器A中的應(yīng)用
已知環(huán)境:
主機(jī)IP:192.168.220.123
容器A已啟動(dòng)济炎,IP:172.17.0.2 捌锭,Tomcat已啟動(dòng),端口為8080。
訪問(wèn)容器A中的應(yīng)用:
curl http://localhost:8080/ #當(dāng)前容器
curl http://172.17.0.2:8080/ #當(dāng)前容器和容器所在的主機(jī)
這里有兩個(gè)問(wèn)題:
1:其他主機(jī)如何訪問(wèn)到這個(gè)應(yīng)用?
2:容器重啟后ip變了 怎么辦?(容器啟動(dòng)后IP為自動(dòng)分配)
docker提供了端口映射功能惭每,啟動(dòng)容器時(shí)加-p參數(shù),映射port:容器應(yīng)用port
docker run -d -p 58080:8080 aa79
訪問(wèn)容器A中的應(yīng)用:
curl http://localhost:8080/ #當(dāng)前容器
curl http://172.17.0.2:8080/ #當(dāng)前容器和容器所在的主機(jī)
curl http://192.168.220.123:58080 #其他主機(jī)/其他容器
我覺(jué)得到這里就可以結(jié)束啦,可又看到一個(gè)link參數(shù)台腥。
link作用:可將兩個(gè)容器關(guān)聯(lián)起來(lái)宏赘,去掉IP依賴(lài)。
link貌似不僅僅在單臺(tái)機(jī)器黎侈,還可以跨主機(jī)呀察署,可我又有個(gè)疑問(wèn):
如果是現(xiàn)網(wǎng)有N多臺(tái)機(jī)器,跨主機(jī)的配置會(huì)不會(huì)非常麻煩呀峻汉?
Link 設(shè)計(jì)的意義在哪呢贴汪?這是個(gè)需要思考的問(wèn)題。