我正在尝试从运行在我的Win10笔记本电脑上的一个Docker容器与另一个也在本地运行的容器进行通信。
我启动目标容器,并看到以下网络:
docker network ls
NETWORK ID NAME DRIVER SCOPE
...
f85b7c89dc30 w3virtualservicew3id_w3-virtual-service-w3id bridge 然后用docker-compose up启动调用容器。然后,我可以通过命令行成功地将另一个容器连接到网络:
docker network connect w3virtualservicew3id_w3-virtual-service-w3id w3vacationatibmservice_rest_1但是,我不能通过将它添加到调用容器的network文件的docker-compose.yml部分来连接到同一个网络。我的印象是,他们基本上都做了相同的事情:
networks:
- w3_vacation-at-ibm_service
- w3virtualservicew3id_w3-virtual-service-w3id错误消息告诉我它找不到网络,这不是真的,因为我可以通过命令行连接,所以我知道它确实存在并运行:
ERROR: Service "rest" uses an undefined network "w3virtualservicew3id_w3-virtual-service-w3id"有人知道我错过了什么吗?
发布于 2017-11-03 21:47:53
您在服务下定义的network预期将在全局networks部分中定义(volumes的情况与此相同):
version 'X.Y'
services:
calling_container:
networks:
- your_network
networks:
your_network:
external: true您真的需要为您的调用容器使用单独的compose吗?如果两个容器彼此交互,则应该将它们同时添加到一个和相同的 yml中,同时添加。在这种情况下,您不必指定任何网络,它们将自动位于同一个网络中。
https://stackoverflow.com/questions/47104405
复制相似问题