首页 > 解决方案 > 如何从另一个服务访问 docker-compose 中的服务

问题描述

我是 docker 新手,我想知道如何通过 localhost 连接到另一个服务。例如,当我创建一个服务并且如果我想从主机访问它时,我只需在 docker-compose 中提供一个端口映射,例如

-8080:80

然后我localhost:8080在主机上连接它。我的问题是当我想从另一个 docker 服务或容器中进行连接时如何连接。我要做什么映射?

标签: dockerdocker-compose

解决方案


假设您在 Windows 主机上安装了 docker。在 docker-compose 中为每个服务提供一个端口映射。例如。对于一个名为 service1 你做的服务

service1: 
     ports:
        -9001:9000

这里 9000 是您要映射的 service1 中的端口。此端口映射到主机窗口的端口 9001。现在您使用 -> 从 Windows 访问 service1localhost:9001

您可以使用 -> 从 docker 内的另一个服务访问 service1service1:9000

现在,要回答您的问题,您可以执行以下操作

service1:
    ports:
       -9001:9000

service2:
    ports:
       -9002:9000

从主机窗口访问 service1 ->localhost:9001

从主机窗口访问 service2 ->localhost:9002

从 docker 内部访问 service1 ->service1:9000

从 docker 内部访问 service2 ->service2:9000


推荐阅读