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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,656评论 19 139
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,963评论 0 7
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,760评论 0 120
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,820评论 11 349
  • 密密层层天生, 白云蓝天当空。 脚下积雪厚厚, 马扯脖子嘶鸣。
    草原骑手阅读 164评论 0 0

友情链接更多精彩内容