如何从其他服务访问docker compose中的服务

如何从其他服务访问docker compose中的服务,docker,docker-compose,Docker,Docker Compose,我是docker的新手,我想知道如何通过localhost从一个服务连接到另一个服务。 例如,当我创建一个服务时,如果我想从主机访问它,那么我只需在docker compose中提供一个端口映射,如 -8080:80 然后我在主机中执行localhost:8080以连接到它。我的问题是,当我想从另一个docker服务或容器中进行连接时,如何进行连接。我应该做什么映射?假设您在windows主机上安装了docker。在docker compose中,为您提供的每个服务创建端口映射。例如,对于名为s

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

-8080:80


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

假设您在windows主机上安装了docker。在docker compose中,为您提供的每个服务创建端口映射。例如,对于名为service1的服务,您需要

service1: 
     ports:
        -9001:9000
这里是要映射的service1中的端口。此端口映射到主机windows的端口9001。 现在,您可以使用->
localhost:9001从windows访问service1

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

现在,为了回答你的问题,你可以做如下的事情

service1:
    ports:
       -9001:9000

service2:
    ports:
       -9002:9000
从主机windows->
localhost:9001访问服务1

从主机windows访问service2->
localhost:9002

从docker内部访问服务1->
service1:9000

从docker内部访问服务2->
service2:9000