Je veux créer 3 services dans le réseau “hôte” en utilisant docker-compose. Voici mon fichier docker-compose.yml:
version: '2' services: mysql: image: mysql net: "host" nginx: image: nginx net: "host" app: image: tomcat net: "host"
J’ai eu l’erreur suivante:
$ 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'
J’utilise boot2docker sur windows.
Docker et Docker composent la version:
$ docker -v Docker version 1.10.2, build c3959b1 $ docker-compose -version docker-compose version 1.6.0, build cdb920a
Si je lance tous les services manuellement en utilisant docker run --net = "host"
tout docker run --net = "host"
.
Dans la documentation, j’ai lu que la commande net est prise en charge dans docker-compose :
net
Mode de mise en réseau. Utilisez les mêmes valeurs que le paramètre client docker –net.
net: “pont”
net: “none”
net: “conteneur: [nom ou identifiant]”
net: “hôte”
https://docs.docker.com/v1.6/compose/yml/#net
Qu’est-ce que je fais mal?
Ces documents sont obsolètes. Je suppose que le 1.6 dans l’URL est pour Docker 1.6, pas Compose 1.6. Consultez la syntaxe correcte ici: https://docs.docker.com/compose/compose-file/#net . Vous recherchez network_mode
lorsque vous utilisez le format v2 YAML.
Juste imprimer
network_mode: "host"
Supprimez l’option de configuration d’avertissement pour services.app: ‘net’, cela fonctionnera.