Introduction
Dans ce lab, vous apprendrez à gérer les paramètres du Docker Model Runner en utilisant la commande model-runner dans Docker Desktop. Nous aborderons l'activation du démon Docker pour écouter sur un port TCP par défaut, sa configuration pour écouter sur un port TCP personnalisé, et enfin, la désactivation de la connexion TCP pour le Docker Model Runner.
À travers des étapes pratiques, vous modifierez le fichier de configuration du démon Docker (daemon.json) pour contrôler les interfaces réseau sur lesquelles le démon écoute, redémarrerez le service Docker pour appliquer les modifications, et comprendrez les implications de l'activation ou de la désactivation des connexions TCP pour l'accès distant et la sécurité.
Activer Docker Model Runner avec le port TCP par défaut
Dans cette étape, nous allons apprendre à configurer le démon Docker pour qu'il écoute les connexions sur un port TCP par défaut. Par défaut, le démon Docker communique via une socket Unix, ce qui est plus sécurisé pour un accès local. Cependant, pour un accès distant ou des cas d'utilisation spécifiques, l'activation du TCP peut être nécessaire.
Pour configurer le démon Docker afin qu'il écoute sur un port TCP, nous devons modifier son fichier de configuration. Le fichier de configuration principal de Docker se trouve généralement à l'emplacement /etc/docker/daemon.json. Si ce fichier n'existe pas, vous pouvez le créer.
Tout d'abord, vérifions si le fichier daemon.json existe. Nous pouvons utiliser la commande ls pour cela.
ls /etc/docker/daemon.json
Si le fichier existe, la commande affichera son chemin. S'il n'existe pas, vous verrez un message d'erreur indiquant que le fichier ou le répertoire est introuvable.
Maintenant, nous allons éditer ou créer le fichier /etc/docker/daemon.json en utilisant l'éditeur nano. Nous ajouterons ou modifierons la clé hosts pour inclure l'adresse TCP et le port. Le port TCP par défaut pour Docker est 2375 (non chiffré) ou 2376 (chiffré avec TLS). Pour cette étape, nous utiliserons le port non chiffré 2375 par souci de simplicité.
Ouvrez le fichier avec nano :
sudo nano /etc/docker/daemon.json
Si le fichier était vide ou n'existait pas, ajoutez le contenu suivant. Si le fichier contenait déjà des données, ajoutez ou modifiez la clé hosts pour inclure "tcp://0.0.0.0:2375". L'entrée unix:///var/run/docker.sock garantit que le démon continue également d'écouter sur la socket Unix par défaut.
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
Après avoir ajouté ou modifié le contenu, enregistrez le fichier en appuyant sur Ctrl + X, puis Y pour confirmer, et Entrée pour écrire le nom du fichier.
Pour que les modifications prennent effet, vous devez redémarrer le service Docker. Nous pouvons le faire en utilisant la commande systemctl.
sudo systemctl restart docker
Après avoir redémarré le service Docker, vous pouvez vérifier qu'il écoute bien sur le port TCP en utilisant la commande ss pour vérifier les sockets en écoute. Nous rechercherons un processus écoutant sur le port 2375.
sudo ss -tuln | grep 2375
Si le démon Docker écoute correctement sur le port 2375, vous devriez voir une sortie similaire à ceci, indiquant qu'un processus écoute sur ce port :
tcp LISTEN 0 4096 0.0.0.0:2375 0.0.0.0:*
Cela confirme que le démon Docker est désormais accessible via TCP sur le port 2375.
Activer Docker Model Runner avec un port TCP personnalisé
Dans l'étape précédente, nous avons configuré le démon Docker pour qu'il écoute sur le port TCP par défaut 2375. Dans cette étape, nous allons apprendre à configurer le démon Docker pour qu'il écoute sur un port TCP personnalisé plutôt que sur le port par défaut. Cela peut être utile pour des raisons de sécurité ou pour éviter des conflits de ports.
Nous allons à nouveau modifier le fichier /etc/docker/daemon.json. Nous allons changer le port TCP de 2375 vers un port personnalisé, par exemple 2376.
Ouvrez le fichier daemon.json en utilisant l'éditeur nano :
sudo nano /etc/docker/daemon.json
Modifiez la clé hosts pour changer le port TCP de 2375 à 2376. Le contenu du fichier devrait maintenant ressembler à ceci :
{
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2376"]
}
Enregistrez le fichier en appuyant sur Ctrl + X, puis Y pour confirmer, et Entrée pour écrire le nom du fichier.
Après avoir modifié la configuration, vous devez redémarrer le service Docker pour que les changements prennent effet.
sudo systemctl restart docker
Maintenant, vérifions que le démon Docker écoute bien sur le nouveau port TCP personnalisé 2376 et qu'il n'écoute plus sur le port par défaut 2375. Nous pouvons à nouveau utiliser la commande ss.
D'abord, vérifiez le port 2376 :
sudo ss -tuln | grep 2376
Vous devriez voir une sortie indiquant qu'un processus écoute sur le port 2376 :
tcp LISTEN 0 4096 0.0.0.0:2376 0.0.0.0:*
Ensuite, vérifions qu'il n'écoute plus sur le port 2375 :
sudo ss -tuln | grep 2375
Cette commande ne devrait produire aucune sortie, ce qui indique que le démon Docker n'écoute plus sur le port 2375.
Cela confirme que nous avons bien configuré le démon Docker pour qu'il écoute sur un port TCP personnalisé.
Désactiver la connexion TCP pour Docker Model Runner
Dans les étapes précédentes, nous avons configuré le démon Docker pour écouter sur un port TCP par défaut puis personnalisé. Bien que l'activation du TCP puisse être utile pour un accès distant, il est généralement plus sécurisé de le désactiver lorsqu'il n'est pas nécessaire et de s'appuyer sur la socket Unix par défaut pour la communication locale.
Dans cette étape, nous allons apprendre à désactiver la connexion TCP pour le démon Docker en supprimant l'entrée TCP du fichier de configuration.
Nous allons à nouveau modifier le fichier /etc/docker/daemon.json en utilisant l'éditeur nano.
Ouvrez le fichier daemon.json :
sudo nano /etc/docker/daemon.json
Modifiez la clé hosts pour supprimer l'entrée TCP ("tcp://0.0.0.0:2376" ou "tcp://0.0.0.0:2375" selon l'étape précédente). Le contenu du fichier ne doit maintenant inclure que l'entrée de la socket Unix :
{
"hosts": ["unix:///var/run/docker.sock"]
}
Enregistrez le fichier en appuyant sur Ctrl + X, puis Y pour confirmer, et Entrée pour écrire le nom du fichier.
Après avoir modifié la configuration, vous devez redémarrer le service Docker pour que les changements prennent effet.
sudo systemctl restart docker
Maintenant, vérifions que le démon Docker n'écoute plus sur aucun port TCP. Nous pouvons utiliser la commande ss et vérifier les ports 2375 et 2376.
Vérifiez le port 2375 :
sudo ss -tuln | grep 2375
Cette commande ne devrait produire aucune sortie.
Vérifiez le port 2376 :
sudo ss -tuln | grep 2376
Cette commande ne devrait également produire aucune sortie.
Cela confirme que nous avons bien désactivé la connexion TCP pour le démon Docker. Le démon n'est maintenant accessible que via la socket Unix par défaut, ce qui correspond à la configuration par défaut plus sécurisée pour un accès local.
Résumé
Dans ce lab, nous avons appris à gérer les paramètres de Docker Model Runner en activant et désactivant les connexions TCP pour le démon Docker. Nous avons commencé par configurer le démon Docker pour qu'il écoute sur le port TCP par défaut 2375 en modifiant le fichier de configuration /etc/docker/daemon.json pour inclure "tcp://0.0.0.0:2375" dans le tableau hosts, puis en redémarrant le service Docker.
Ce lab couvre également comment activer le démon Docker avec un port TCP personnalisé et comment désactiver complètement les connexions TCP en supprimant l'entrée TCP du tableau hosts dans le fichier daemon.json et en redémarrant le service Docker. Ces étapes démontrent comment configurer l'accessibilité réseau de Docker pour différents cas d'utilisation.



