network_mode hub compose commands docker docker-compose jwilder-nginx-proxy

hub - ¿Cómo unirse a la red de puente predeterminada con docker-compose v2?



docker-compose environment (1)

Agregar network_mode: bridge a cada servicio en su docker-compose.yml dejará de componer desde la creación de una red.

Si algún servicio no está configurado con este puente (o host), se creará una red.

Probado y confirmado con:

version: "2.1" services: app: image: ubuntu:latest network_mode: bridge

Intenté configurar un contenedor nginx-proxy para acceder a mis otros contenedores a través de subdominios en el puerto 80 en lugar de puertos especiales. Como puedes adivinar, no pude hacerlo funcionar.

Soy un poco nuevo en la propia ventana acoplable y descubrí que es más cómodo para mí escribir archivos docker-compose.yml por lo que no tengo que escribir constantemente comandos largos de docker run ... . Pensé que no hay diferencia en cómo se inician los contenedores, ya sea con docker o con docker-compose . Sin embargo, una diferencia que noté es que al iniciar el contenedor con la docker no se crean nuevas redes, pero con la función de la docker-compose habrá una red xxx_default después.

Leí que los contenedores en diferentes redes no pueden acceder entre sí y tal vez esa sea la razón por la cual el proxy nginx no está enviando las solicitudes a los otros contenedores. Sin embargo, no pude encontrar una manera de configurar mi archivo docker-compose.yml para no crear ninguna red nueva, sino que me docker-compose.yml a la red de puente predeterminada como docker run hace la docker run .

Intenté lo siguiente, pero resultó en un error que dice que no puedo unirme a redes de sistemas como esta:

networks: default: external: name: bridge

También probé network_mode: bridge , pero eso no pareció hacer ninguna diferencia.

¿Cómo debo escribir el archivo docker-compose.yml para no crear una nueva red, o no es posible en absoluto?

Pregunta extra: ¿Hay alguna otra diferencia entre docker y docker-compose que debería conocer?