J'ai découvert Docker en installant Jeedom (application domotique) sur mon NAS Synology. Pour la gestion du conteneur, j'utilise principalement l'outil intégré dans la version DSM 6.2 de mon NAS Synology : ceci a l'avantage pour un novice d'appréhender l'utilisation de Docker. Malheureusement, il y a peu de documentation sur cette utilisation particulière pour ne pas dire à la marge. Voici donc les commandes qu'on peut utiliser sur le serveur via ssh, soit une utilisation classique de Docker.
Site intéressant concernant Docker sur NAS Syno : https://www.nas-forum.com/forum/topic/65309-tuto-docker-introduction-au-fonctionnement/
Important : Pour échanger les données avec les conteneurs, il faut créer des dossiers accessibles aux conteneurs. Du coup, pour mon NAS Synology, via "File Station", j'ai créé un dossier "docker" configuré avec le propriétaire "EVERYONE" ayant les droits de lecture/écriture (de façon récursive pour les sous-dossiers et fichiers).
Source : https://kb.synology.com/fr-fr/DSM/tutorial/Docker_container_cant_access_the_folder_or_file
Autre site :
- https://www.nas-forum.com/forum/topic/65309-tuto-docker-introduction/
- Installer Docker et Docker Compose sur son NAS Syno : https://www.virtualizationhowto.com/2023/02/docker-compose-synology-nas-install-and-configuration/
Pour connaître l'état de son Docker :
sudo docker ps
sudo docker inspect nom_du_conteneur
sudo docker network ls (pas très utile)
Pour accéder à la commande en ligne d'un conteneur en fonctionnement (on peut utiliser le nom du conteneur ou son ID) :
sudo docker exec -t -i container_name /bin/bash
sudo docker exec -i -t (container ID) bash
Si on arrive pas à se connecter au terminal du conteneur, on peut tenter cette commande qui permet de se connecter dans le terminal du conteneur "adminer1" en tant que root (UID=0), pour par exemple changer dans le conteneur le propriétaire du fichier par la suite) :
sudo docker exec -it --user root adminer1 /bin/bash
Pour créer ou modifier le mot de passe de l'utilisateur "root" dans un conteneur "adminer1" (root=0) :
sudo docker exec -itu 0 adminer1 passwd
Le premier mot de passe correspond à celui du NAS et le nouveau mot de passe root du conteneur à saisir sera derrière "New password" et "Retype password".
Pour installer une application (comme nano par exemple) dans son conteneur, il est IMPÉRATIF de faire d'abord la commande UPDATE sinon les paquets ne seront pas trouvés avec ce message "Unable to locate package" :
apt-get update
apt-get install vim
Pour installer une image Docker à partir d'un registre connu (ici celui de Pollen) :
sudo docker pull registry.nuiton.org/chorem/pollen:3.2.4
Pour copier un fichier du NAS vers le conteneur "adminer1" :
sudo docker cp /volume1/web_packages/adminer/adminer.css adminer1:/var/www/html
Pour mettre à jour l'image d'un conteneur :
https://www.wundertech.net/how-to-update-docker-containers-on-a-synology-nas/
sudo docker pull lovasoa/sqlpage