Cet article expliquera ce que le «-net = hôte«L'option fait dans la commande docker.
Que fait l'option «-net = host» dans la commande docker?
Le "-filet”Option dans le"run docker»La commande est utilisée pour spécifier le réseau pour le conteneur Docker. Par défaut, les conteneurs fonctionnent sur le réseau de ponts. Cependant, le "-net = hôte«L'option peut être utilisée pour exécuter le conteneur sur le réseau hôte. Il donne au conteneur docker plus d'accès au réseau qu'il n'aurait généralement.
Comment exécuter la commande «docker run» avec et sans l'option «-net = host»?
Pour vérifier la différence entre les conteneurs fonctionnant sur le réseau par défaut et le réseau hôte, consultez les exemples répertoriés:
Comment utiliser la commande «docker run» sans l'option «-net-host»?
Par défaut, la plate-forme Docker fournit trois réseaux: «pont","héberger", et "aucun". Afin de répertorier tous les réseaux, jetez un œil à l'exemple ci-dessous:
> Docker Network LS
Lorsque le conteneur est exécuté sans spécifier de réseau, par défaut, il utilisera le réseau de ponts. Pour la démonstration, consultez les étapes ci-dessous.
Étape 1: Faire un dockerfile
Faites un dockerfile pour conteneuriser le «golang»Programmez et collez les instructions données dans le fichier:
De Golang: 1.8
Workdir / go / src / app
Copier principal.aller .
Exécuter Go Build -O Webserver .
Exposer 8080: 8080
CMD ["./serveur Web"]
Étape 2: construire l'image docker
Ensuite, générez l'image à partir de dockerfile à l'aide de la commande fournie. Le "-t«L'option dans la commande ci-dessous spécifie le nom de l'image:
> docker build -t go-iMg .
Étape 3: Exécutez le conteneur Docker
Utilisez le «run docker”Commande pour exécuter le conteneur sur le réseau sélectionné par défaut. Le "-d»L'option exécute le conteneur en mode détaché:
> docker run -d go-iMg
Maintenant, répertoriez le conteneur et vérifiez si le conteneur est exécuté sur le réseau par défaut ou non:
> docker ps -a
Si la sortie affiche un port d'exposition comme "TCP /"Cela signifie que le conteneur s'exécute sur un réseau par défaut et s'il n'y a pas de sortie dans"ports"Colonne ou sortie comme"0.0.0.0: 8080 → 8080 / TCP«Cela signifie que le conteneur s'exécute sur l'hôte:
À partir de la sortie ci-dessus, vous pouvez voir que notre conteneur s'exécute sur le réseau sélectionné par défaut "pont".
Comment utiliser la commande "docker run" avec l'option "-net-host"?
Afin d'exécuter le conteneur sur le réseau hôte, utilisez le "-net = hôte«Option comme indiqué ci-dessous:
> docker run -d --net = host go-iMg
Pour la vérification, listez tous les conteneurs. Ici, aucune sortie n'est indiquée dans le «ports”Colonne, ce qui signifie que notre conteneur traite sur le réseau hôte et peut être accessible dans n'importe quel port du réseau hôte:
> docker ps -a
Il s'agit de ce que le «-net = hôte«L'option fait et comment l'utiliser dans Docker.
Conclusion
Le "-net = hôte"L'option est utilisée pour exécuter le conteneur Docker sur le réseau hôte. Si cette option n'est pas spécifiée dans le «run docker»Commande, son conteneur moyen s'exécutera sur le réseau de ponts. Pour exécuter le conteneur sur l'hôte, utilisez le «docker run -net = option " commande. Cet article a démontré ce que le «-net = hôte«L'option fait dans la commande docker.