Redes en Docker
Docker proporciona una serie de mecanismos para conectar contenedores entre sí y con el mundo exterior. A continuación, veremos los conceptos básicos de las redes en Docker.
Redes por defecto
Cuando instalamos Docker, se crean tres redes por defecto:
bridge: Es la red por defecto que se utiliza para conectar los contenedores en el mismo host. Los contenedores en la red
bridge
pueden comunicarse entre sí utilizando sus direcciones IP.host: Es una red especial que permite a los contenedores compartir la red del host. Los contenedores en la red
host
pueden acceder a los servicios del host utilizando la dirección IPlocalhost
.none: Es una red nula que no tiene acceso a la red. Los contenedores en la red
none
no pueden comunicarse con otros contenedores ni con el host.
Crear una red
Para crear una red en Docker, podemos utilizar el comando docker network create
. Por ejemplo, para crear una red llamada mi-red
:
docker network create mi-red
Ver redes
Podemos ver las redes en Docker utilizando el comando docker network ls
:
docker network ls
Conectar un contenedor a una red
Para conectar un contenedor a una red en Docker, podemos utilizar la opción --network
o -network
al crear el contenedor. Por ejemplo, para conectar un contenedor a la red mi-red
:
docker run --name mi-contenedor --network mi-red -d nginx
También podemos conectar un contenedor a más redes existente utilizando el comando docker network connect
. Por ejemplo, para conectar el contenedor mi-contenedor
a la red mi-red
:
docker network connect mi-red mi-contenedor
NOTA: Un contenedor puede estar conectado a múltiples redes.
Desconectar un contenedor de una red
Para desconectar un contenedor de una red en Docker, podemos utilizar el comando docker network disconnect
. Por ejemplo, para desconectar el contenedor mi-contenedor
de la red mi-red
:
docker network disconnect mi-red mi-contenedor
Eliminar una red
Para eliminar una red en Docker, podemos utilizar el comando docker network rm
. Por ejemplo, para eliminar la red mi-red
:
docker network rm mi-red