run - download docker image
Docker componer, ejecutar contenedores en la red: host (5)
Esos documentos están desactualizados.
Supongo que el 1.6 en la URL es para Docker 1.6, no para Compose 1.6.
Consulte la sintaxis correcta aquí:
https://docs.docker.com/compose/compose-file/#network_mode
.
Está buscando
network_mode
cuando usa el formato v2 YAML.
Quiero generar 3 servicios en la red "host" usando docker-compose. Aquí está mi archivo docker-compose.yml:
version: ''2''
services:
mysql:
image: mysql
net: "host"
nginx:
image: nginx
net: "host"
app:
image: tomcat
net: "host"
Tuve el siguiente error:
$ docker-compose up
[31mERROR[0m: Validation failed in file ''./docker-compose.yml'', reason(s):
Unsupported config option for services.app: ''net''
Unsupported config option for services.mysql: ''net''
Unsupported config option for services.nginx: ''net''
Estoy usando boot2docker en Windows.
Docker y Docker-compose versión:
$ docker -v
Docker version 1.10.2, build c3959b1
$ docker-compose -version
docker-compose version 1.6.0, build cdb920a
Si ejecuto todos los servicios manualmente usando
docker run --net = "host"
todo funciona bien.
En la documentación leí que el comando net es compatible con docker-compose :
red
Modo de red. Utilice los mismos valores que el cliente docker - parámetro de red.
net: "puente"
net: "ninguno"
net: "contenedor: [nombre o id]"
net: "host"
https://docs.docker.com/v1.6/compose/yml/#net
¿Qué estoy haciendo mal?
Solo imprime
network_mode: "host"
Tal vez estoy respondiendo muy tarde. Pero también estaba teniendo problemas para configurar la red host en Docker compose. Luego leí la documentación a fondo e hice los cambios y funcionó. Tenga en cuenta que esta configuración es para Docker-compose versión "3.7". Aquí einwohner_net y elk_net_net son mis redes definidas por el usuario requeridas para mi aplicación. Estoy usando host net para obtener algunas métricas del sistema.
Enlace a la documentación https://docs.docker.com/compose/compose-file/#host-or-none
version: ''3.7''
services:
app:
image: ramansharma/einwohnertomcat:v0.0.1
deploy:
replicas: 1
ports:
- ''8080:8080''
volumes:
- type: bind
source: /proc
target: /hostfs/proc
read_only: true
- type: bind
source: /sys/fs/cgroup
target: /hostfs/sys/fs/cgroup
read_only: true
- type: bind
source: /
target: /hostfs
read_only: true
networks:
hostnet: {}
networks:
- einwohner_net
- elk_elk_net
networks:
einwohner_net:
elk_elk_net:
external: true
hostnet:
external: true
name: host
elimine la opción de configuración de advertencia para services.app: ''net'', puede funcionar.
puedes intentar simplemente agregar
network_mode: "host"
ejemplo:
version: ''2''
services:
feedx:
build: web
ports:
- "127.0.0.1:8000:8000"
network_mode: "host"
opción de lista disponible
network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"