Skip to main content

Configuration de Docker pour l'accès distant via TLS (port 2376)

1️⃣ Vérification et préparation des certificats TLS

Avant de commencer, assure-toi que les certificats TLS sont bien disponibles sur le serveur.
📍 Emplacement attendu des fichiers TLS :

/[DOSSIER]/ca.pem
/[DOSSIER]/server-cert.pem
/[DOSSIER]/server-key.pem

🔎 Vérification des fichiers TLS :

ls -l /[DOSSIER]/

Si les fichiers sont absents, il faudra les régénérer avant de continuer.

2️⃣ Modification de /etc/docker/daemon.json

📌 Objectif : Supprimer les paramètres TLS de ce fichier pour éviter les conflits avec systemd.

📝 Édition du fichier :

sudo nano /etc/docker/daemon.json

🛠️ Contenu correct :

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

Ne pas inclure les paramètres TLS ici, car ils seront gérés via systemd.

💾 Enregistrer et quitter : CTRL + X, puis Y, puis Entrée.

 

3️⃣ Configuration de systemd pour Docker

 

 

📌 Objectif : Modifier le service Docker pour qu'il écoute sur le port 2376 avec TLS.

📂 Créer le dossier de configuration systemd s'il n'existe pas :

sudo mkdir -p /etc/systemd/system/docker.service.d

📝 Édition du fichier override.conf

 

sudo nano /etc/systemd/system/docker.service.d/override.conf

🛠️ Contenu correct :

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --host=tcp://0.0.0.0:2376 --tlsverify --tlscacert=/[DOSSIER]/ca.pem --tlscert=/[DOSSIER]/server-cert.pem --tlskey=/[DOSSIER]/server-key.pem

💾 Enregistrer et quitter : CTRL + X, puis Y, puis Entrée.

 

4️⃣ Appliquer les changements et redémarrer Docker

🔄 Recharger systemd :

sudo systemctl daemon-reload

🚀 Redémarrer Docker :

sudo systemctl restart docker

Vérifier si Docker tourne bien :

sudo systemctl status docker --no-pager -l

🔎 Vérifier si Docker écoute sur le port 2376 :

sudo netstat -tulnp | grep docker

 

5️⃣ Tester l'accès distant depuis un autre serveur (ex: Kuma)

Sur le serveur distant (Kuma), configure l'accès à Docker via TLS :

export DOCKER_HOST=tcp://stream.home.slaunay.ch:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/kuma/stream.home.slaunay.ch