如何访问Docker中的应用

需求:
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 设计的意义在哪呢?这是个需要思考的问题。

    原文作者:灼灼2015
    原文地址: https://www.jianshu.com/p/e19a38f39a00
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞