需求:
1:本机访问容器中的应用
2:其他机器访问容器中的应用
3:容器B中访问容器A中的应用
已知环境:
主机IP:192.168.220.123
容器A已启动,IP:172.17.0.2 ,Tomcat已启动,端口为8080。
访问容器A中的应用:
curl http://localhost:8080/ #当前容器
curl http://172.17.0.2:8080/ #当前容器和容器所在的主机
这里有两个问题:
1:其他主机如何访问到这个应用?
2:容器重启后ip变了 怎么办?(容器启动后IP为自动分配)
docker提供了端口映射功能,启动容器时加-p参数,映射port:容器应用port
docker run -d -p 58080:8080 aa79
访问容器A中的应用:
curl http://localhost:8080/ #当前容器
curl http://172.17.0.2:8080/ #当前容器和容器所在的主机
curl http://192.168.220.123:58080 #其他主机/其他容器
我觉得到这里就可以结束啦,可又看到一个link参数。
link作用:可将两个容器关联起来,去掉IP依赖。
link貌似不仅仅在单台机器,还可以跨主机呀,可我又有个疑问:
如果是现网有N多台机器,跨主机的配置会不会非常麻烦呀?
Link 设计的意义在哪呢?这是个需要思考的问题。