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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 121,949评论 17 134
  • 密密层层天生, 白云蓝天当空。 脚下积雪厚厚, 马扯脖子嘶鸣。
    草原骑手阅读 66评论 0 0
  • 文/古尔浪洼 前几年,流行过一个叫一万小时理论的观点。简单讲,这个观点的核心意思是,要想做好,不管是做东西,还是训...
    古尔浪洼阅读 607评论 0 6
  • 书摘 我跑步,只是跑着,原则上是在空白中跑步,也许是为了获得空白而跑步。即使再这样的空白当中,也有偏食片刻的思绪潜...
    Just_Alias阅读 179评论 0 1
  • 不知道怎么开头,自己一直就很想写作,之前一直在简书上浏览,看着别人写下的动心的语句,感觉自己那种心底的澎湃感似乎也...
    无缘烟尘阅读 288评论 0 1