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?