CodeGym /Cursos /Docker SELF /Creación y gestión de redes

Creación y gestión de redes

Docker SELF
Nivel 17 , Lección 1
Disponible

2.1 Comandos principales de docker network

Las redes en Docker permiten que los contenedores interactúen entre sí y con redes externas. Los comandos de docker network ofrecen posibilidades flexibles para la creación, configuración y gestión de redes, garantizando aislamiento y control sobre la interacción de red de los contenedores. En esta lección, revisaremos en detalle los comandos de docker network y cómo usarlos para gestionar redes.

Comandos principales de docker network:

  1. docker network create
  2. docker network ls
  3. docker network inspect
  4. docker network connect
  5. docker network disconnect
  6. docker network rm

Creación de red: comando docker network create

El comando docker network create se usa para crear nuevas redes. Puedes crear redes con diferentes drivers, como bridge, host, overlay y macvlan.

Ejemplo de creación de una red con el driver bridge

Terminal


docker network create --driver bridge my_bridge_network 

Ejemplo de creación de una red con el driver overlay

Terminal


docker network create --driver overlay my_overlay_network 

Ejemplo de creación de una red con el driver macvlan

Terminal

docker network create --driver macvlan \
  --subnet=192.168.1.0/24   \
  --gateway=192.168.1.1 \
  -o parent=eth0 my_macvlan_network

2.2 Comandos para trabajar con redes

1. Ver redes disponibles: comando docker network ls

El comando docker network ls muestra una lista de todas las redes creadas en Docker.

Terminal


docker network ls 

La salida del comando se verá de la siguiente manera:

Terminal


NETWORK ID          NAME                DRIVER              SCOPE
0e7e2d58fe94        bridge              bridge              local
9c84fdfc69ee        host                host                local
71cfb6a79d9e        none                null                local

2. Ver información sobre una red: comando docker network inspect

El comando docker network inspect permite obtener información detallada sobre una red específica, incluyendo los contenedores conectados, configuraciones de subred y gateway.

Ejemplo de uso:

Terminal


docker network inspect my_bridge_network 

La salida del comando contendrá información sobre la red en formato JSON:

JSON

[
    {
        "Name": "my_bridge_network",
        "Id": "0e7e2d58fe94",
        "Created": "2021-01-01T00:00:00.000000000Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "container_id": {
                "Name": "my_container",
                "EndpointID": "6c52f8c75c1e",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

3. Conectar un contenedor a una red: comando docker network connect

El comando docker network connect se utiliza para conectar un contenedor ya ejecutado a una red existente.

Ejemplo de uso:

Terminal


docker network connect my_bridge_network my_container 

4. Desconectar un contenedor de una red: comando docker network disconnect

El comando docker network disconnect se utiliza para desconectar un contenedor de una red.

Ejemplo de uso:

Terminal


docker network disconnect my_bridge_network my_container 

5. Eliminar una red: comando docker network rm

El comando docker network rm se utiliza para eliminar una red. Ten en cuenta que una red solo puede eliminarse después de desconectar todos los contenedores conectados a ella.

Ejemplo de uso:

Terminal


docker network rm my_bridge_network 

2.3 Ejemplos de comandos docker network

Ejemplos del uso de comandos docker network

Ejemplo 1: Creación y uso de una red bridge

Creación de la red:

Terminal

docker network create --driver bridge my_bridge_network 

Inicio de contenedores y conexión a la red:

Terminal

docker run -d --name container1 --network my_bridge_network nginx

docker run -d --name container2 --network my_bridge_network redis 

Verificación de la red:

Terminal

docker network inspect my_bridge_network 

La salida del comando docker network inspect contendrá información detallada sobre la red en formato JSON. Para hacer la salida más legible, puedes usar la utilidad jq:

Terminal

docker network inspect my_bridge_network | jq

Es útil para filtrar y visualizar de manera estructurada datos sobre la red, como los contenedores conectados, sus direcciones IP y las configuraciones de subred.

Ejemplo 2: Conectar y desconectar contenedores

Inicio del contenedor:

Terminal

docker run -d --name my_container nginx 

Conexión del contenedor a la red:

Terminal

docker network connect my_bridge_network my_container 

Desconexión del contenedor de la red:

Terminal

docker network disconnect my_bridge_network my_container 
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION