Vas*_*yov 7 docker docker-compose docker-networking docker-network
这是我希望从外部容器(在另一个撰写文件中定义)连接到的带有容器配置的撰写文件:
version: '3.5'
services:
service-to-connect-to:
build: .
networks:
- my-external-network
networks:
my-external-network:
external: true
Run Code Online (Sandbox Code Playgroud)
和另一个包含我希望连接到的容器配置的撰写文件service-to-connect-to:
version: "3.5"
services:
service-to-connect-from:
build: .
Run Code Online (Sandbox Code Playgroud)
我试图service-to-connect-to通过这个域连接到:
service-to-connect-to
service-to-connect-to.my-external-network
my_external_network.service-to-connect-to
但他们都没有工作。
我错在哪里?
谢谢
首先,您必须将两个服务添加到同一网络才能连接它们。所以,后者的撰写文件应该是这样的
version: "3.5"
services:
service-to-connect-from:
build .
networks:
- my-external-network
networks:
my-external-network:
external: true
Run Code Online (Sandbox Code Playgroud)
现在两个服务都在同一个网络上,它们可以使用容器的名称找到彼此。容器名称默认与服务名称相同,但 docker compose 还以项目名称作为前缀,默认情况下,项目名称是撰写文件所在的目录名称。如果您首先启动服务docker-compose up -d,然后通过运行查看容器如何命名,您可以看到这一点docker ps。例如,容器名称可以是project1_service-to-connect-to。使用此名称,您可以从其他服务连接。
如果愿意,您还可以使用container_name服务选项显式设置容器的名称。使用时,compose 不再为容器名称添加前缀。
| 归档时间: |
|
| 查看次数: |
4528 次 |
| 最近记录: |