首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在停靠容器中运行的服务调用在不同停靠容器中的另一个服务中运行的web服务

在停靠容器中运行的服务调用在不同停靠容器中的另一个服务中运行的web服务
EN

Stack Overflow用户
提问于 2019-05-10 22:26:24
回答 1查看 359关注 0票数 0

为了便于讨论,假设我有两个码头容器,容器A和容器B。容器A有一个在其中运行的服务(服务A)。类似地,容器B有一个在其中运行的服务(服务B)。服务B在端口8082上公开了一个web服务接口,我们有一个端口映射-p 8082:8082,这样外部世界就可以对服务B(例如http://some_ip:8082/somemethod)进行web服务调用。然而,让我们假设服务A需要对服务B进行相同的web调用,这将如何实现?这有可能吗?

注意:我不喜欢Docker Compose的解决方案。这本质上需要多个容器对其他容器有深入的了解。此外,它要求所有容器都托管在同一个Docker引擎中。这在现实世界中是行不通的。容器A归组织A所有,容器B归组织B所有。我可以从外部世界访问在容器B中运行的web服务,但我不能从容器A访问相同的web方法。

EN

回答 1

Stack Overflow用户

发布于 2019-05-10 22:33:13

最简单的选择:您可以使用Docker Compose,它在容器之间进行服务,因此您可以通过到达creates a network B:8082从服务A进行调用。例如,您的docker-compose.yml可能如下所示:

代码语言:javascript
运行
复制
serviceA:
    image: myImage

serviceB:
    image: myOtherImage
    ports:
        - "8082:8082"

没有docker-compose,您可以手动创建网络并连接您的容器:

代码语言:javascript
运行
复制
docker network create myNetwork
# create containers for serviceA and serviceB...
docker network connect myNetwork serviceA
docker network connect myNetwork serviceB

然后,您的容器将可以通过IP地址或其别名相互访问。有关网络的更多信息,请访问:https://docs.docker.com/network/bridge/

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56079646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档