Tengo dos servicios diferentes ejecutándose en un solo archivo docker-compose. Me dirijo a cada servicio haciendo referencia al nombre de servicio de los contenedores.
Ahora quiero que mi contenedor A también acceda a localhost. Para esto, cuando agregué la configuración de 'network_mode=host', pero esto crea un error que ahora indica que el contenedor A no puede comunicarse con el contenedor B.
version: '2' services: rocketchat: image: myimage environment: - MONGO_URL=mongodb://mongo:27017/dbname depends_on: - mongo ports: - 3000:3000 network_mode: host mongo: image: mongo:3.2 ports: - 27017:27017Para cada archivo de composición, docker-compose crea una red, por lo que, en este caso, ¿debería asignar manualmente los contenedores a una red dedicada también? ¿O hay alguna solución para acceder a ambas redes?
intenta agregar links :
version: '2' services: rocketchat: image: myimage environment: - MONGO_URL=mongodb://mongo:27017/dbname depends_on: - mongo ports: - 3000:3000 links: - mongo #network_mode: host mongo: image: mongo:3.2 ports: - 27017:27017 y no necesita network_mode: host si usa los enlaces
EDITAR - Otra solución:
version: '2' services: rocketchat: image: myimage environment: - MONGO_URL=mongodb://localhost:27017/dbname depends_on: - mongo ports: - 3000:3000 network_mode: host mongo: image: mongo:3.2 ports: - 27017:27017 network_mode: host