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

### **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** :

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

**Vérification des fichiers TLS :**

```bash
ls -l /[DOSSIER]/
```

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

### **Modification de /etc/docker/daemon.json**

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

**Édition du fichier :**

```bash
sudo nano /etc/docker/daemon.json
```

**Contenu correct :**

```json
{
    "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`.

### **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 :**

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

**Édition du fichier override.conf**

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

**Contenu correct :**

```json
[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`.

### **Appliquer les changements et redémarrer Docker**

****Recharger systemd :****

```bash
sudo systemctl daemon-reload
```

**Redémarrer Docker :**

```bash
sudo systemctl restart docker
```

**Vérifier si Docker tourne bien :**

```bash
sudo systemctl status docker --no-pager -l
```

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

```bash
sudo netstat -tulnp | grep docker
```

### **Tester l'accès distant depuis un autre serveur (ex: Kuma)**

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

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