我有一个简单的 Docker 组合文件,如下所示:
version: '3'
services:
server:
build: ./server
networks:
- common
ports:
- "4840:4840"
container_name: open62541_server
hostname: open62541-server
client:
build: ./client
depends_on:
- server
container_name: open62541_client
networks:
- common
networks:
common:
当我运行它时,出现以下错误:
Attaching to open62541_server, open62541_client
open62541_server | [2019-06-27 12:19:54.864 (UTC+0000)] info/network TCP network layer listening on opc.tcp://open62541-server:4840/
open62541_client | [2019-06-27 12:19:55.590 (UTC+0000)] warn/network DNS lookup of open62541-server failed with error Name or service not known
open62541_client exited with code 0
即使在指定容器属于公共(public)网络之后,为什么我仍会收到此错误?有什么我想念的吗?
最佳答案
您应该使用 server
(服务名称)作为您在 docker-compose 网络中连接的主机,而不是 open62541-server
作为 docker 文件中的 container_name 和 hostname 部分影响 docker-compose 的内部 DNS。
关于Docker Compose 主机名 DNS 查找失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56790952/