Tengo un archivo de composición simple de Docker como se muestra a continuación:
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:Cuando lo ejecuto, me sale el siguiente error:
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 0Incluso después de especificar que los contenedores pertenecen a una red común, ¿por qué aparece este error? ¿Hay algo que me estoy perdiendo?
Debe usar server (nombre del servicio) como host al que se conecta dentro de la red docker-compose en lugar de open62541-server , ya que ni container_name ni la sección de nombre de host en el archivo docker afectan el DNS interno de docker-compose.
Probablemente tenga un error tipográfico en el archivo de configuración. hostname es open62541-server y container_name es open62541_server (con guión bajo). Debería poder conectarse al servidor con el nombre del servicio (es decir server ) o container_name (es decir open62541_server )