Saltar al contenido

¿Cómo utilizar la red de host para la composición de Docker?

Solución:

La configuración equivalente para docker-compose v3 está usando el network_mode clave: https://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode

Deberías configurar network_mode para "host" en tus docker-compose.yml.

Si usa docker swarm, consulte la respuesta de la estación de códigos.

Está mezclando opciones que no son válidas en las implementaciones de redacción y enjambre.

Si está implementando con docker-compose up, su archivo de composición debería ser así:

version: "3"
services:
  web:
    image: conatinera:latest
    network_mode: "host"        
    restart: on-failure

Las opciones deploy se ignora en el modo de redacción y la opción de puertos se ignora cuando se utiliza la red en modo host. Recomiendo no usar redes en modo host y usar un proxy inverso en otro contenedor para equilibrar sus contenedores escalados.


(No dude en ignorar esta parte de la respuesta ya que aclaró que no está utilizando despliegues de enjambre).

Si está utilizando la implementación de enjambre, su archivo de redacción debería ser así:

version: "3.4"
services:
  web:
    image: conatinera:latest
    deploy:
      replicas: 1
      resources:
        limits:
          cpus: "0.5"
          memory: 4G 
      restart_policy:
        condition: on-failure
    networks:
      - host

networks:
  host:
    name: host
    external: true

Nuevamente, los puertos publicados y las redes en modo host no se mezclan. También es probable que su escalado falle porque todos los contenedores intentarán vincularse al mismo puerto. Recomiendo no utilizar la red en modo host y dejar que la carga de la ventana acoplable equilibre la carga de sus réplicas.

Creo que debería definir el archivo docker-compose de esta manera: Este es solo un ejemplo, lea la documentación: https://docs.docker.com/compose/compose-file/#network-configuration-reference

version: "3"
services:
  web:
    image: conatinera:latest
    networks:
      mynetwork: {}
    deploy:
      replicas: 1
      resources:
        limits:
          cpus: "0.5"
          memory: 4G 
      restart_policy:
        condition: on-failure
    ports:
      - "18080:8080"
networks:
  mynetwork:
    external: true
    name: host
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *