You are currently viewing Docker : L’installation pas à pas pour votre domotique

Docker : L’installation pas à pas pour votre domotique

Docker installation domotique

1. Définition de Docker, kesako ?

Docker est une plateforme open-source qui permet de créer, déployer et exécuter des applications de manière isolée dans des conteneurs. Les conteneurs Docker fournissent un environnement léger et portable, encapsulant tous les éléments nécessaires à l’exécution d’une application, y compris le code, les bibliothèques, les dépendances et les variables d’environnement.

En utilisant Docker, les développeurs peuvent créer des conteneurs qui contiennent tous les éléments nécessaires à leur application, indépendamment du système d’exploitation sous-jacent. Cela facilite le déploiement et la gestion des applications dans différents environnements, que ce soit sur des machines locales, des serveurs distants ou des services cloud.

Docker permet également une gestion efficace des ressources, car les conteneurs partagent le même noyau du système d’exploitation hôte, ce qui les rend plus légers par rapport aux machines virtuelles traditionnelles. De plus, Docker propose des outils pour l’automatisation et l’orchestration des conteneurs, ce qui facilite le déploiement et la mise à l’échelle des applications.

En résumé, Docker simplifie le processus de développement, de déploiement et de gestion des applications en utilisant des conteneurs légers et portables, offrant ainsi une flexibilité et une portabilité accrues pour les développeurs et les équipes d’exploitation.

1.1 L’installation ? Les sources ?

Dans cet article, je présente une approche spécifique pour effectuer certaines tâches liées à Docker.

Cependant, il est important de noter qu’il existe différentes façons de réaliser ces tâches et que les préférences peuvent varier en fonction des besoins et des préférences individuelles.

Pour une référence complète et officielle, vous pouvez consulter la documentation officielle de Docker sur le lien suivant : https://docs.docker.com. La documentation officielle fournit des informations détaillées, des guides, des exemples et des références pour vous aider à tirer le meilleur parti de Docker et à explorer différentes approches en fonction de vos besoins spécifiques.

Docker Explorer, site pour trouvé toute la liste des containers possible: https://hub.docker.com/search?q=

ISO Ubuntu server: https://releases.ubuntu.com/22.04.3/ubuntu-22.04.3-desktop-amd64.iso

1.2 Les prérequis ?

Dans cette article, nous partirons d’une machine virtuelle Ubuntu Server 22.04 sur un serveur Proxmox. La machine virtuelle sera provisionnée avec 2 VCPU, 4 Go de RAM et une carte réseau connectée à Internet. Pour accéder à la machine, nous aurons besoin d’un utilisateur non-root et de connaître son mot de passe. Cette configuration nous permettra d’exécuter Docker et de commencer à travailler avec des conteneurs. Veuillez noter que ces spécifications peuvent être ajustées en fonction de vos besoins et des capacités de votre infrastructure.

Les prérecquis de docker d’après le site officiel: https://docs.docker.com/desktop/install/linux-install/#system-requirements

compatibility
Docker installation domotique

2. Avant l’installation de docker sur votre machine

Pour vous connecter à la machine en utilisant SSH, vous aurez besoin de l’adresse IP de la machine et du nom d’utilisateur. Supposons que l’adresse IP de la machine virtuelle soit 10.0.0.15 et que le nom d’utilisateur soit « dockeruser ». Voici la commande SSH que vous pouvez utiliser pour vous connecter :

ssh dockeruser@10.0.0.15

Donc nous allons dans un premier temps récupere l’ip de la machine, pour mon cas, directement dans la console de mon serveur proxmox ou dans depuis mon serveur DHCP (box internet, adguard, etc)

trouver l'ip du serveur

Assurez-vous d’avoir un client SSH installé sur votre machine locale. Une fois la connexion établie, vous pourrez effectuer des copier-coller plus facilement entre votre machine locale et la machine virtuelle.

2.1 Mise à jour de l’environnement

Nous allons dans un premier temps faire les mises à jour du serveur pour être sur la dernière release de l’OS

sudo apt update
mise à jour du serveur

Ensuite, exécutez la commande suivante pour mettre à jour tous les paquets installés sur votre système :

sudo apt upgrade
mise à jour du serveur
Docker installation domotique

Lorsque vous êtes invité à confirmer la mise à jour, appuyez sur « Y » puis sur Entrée pour continuer.

Mise à jour en cours, cela peut prendre plus ou moins de temps en fonction de votre connexion internet et votre configuration.

mise à jour du serveur

Si vous souhaitez également mettre à jour la version de votre système os, vous pouvez exécuter la commande suivante pour lancer la mise à jour de la distribution :

sudo do-release-upgrade

Suivez les instructions à l’écran pour procéder à la mise à jour. Notez que cette commande peut nécessiter un certain temps et peut nécessiter votre confirmation à plusieurs reprises.

3. Installation de Docker

3.1 Suppression des anciennes installation

Dans un premier temps, on vérifie qu’il n’y a pas d’autres installation de docker sur notre machine

sudo apt-get remove docker docker-engine docker.io containerd runc
suppression ancienne installation

Suppression des dossiers « Docker »

rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop

3.2 Ajout des référentiels Docker

Exécutez les commandes suivantes pour ajouter les référentiels Docker, il serviront pour l’installation de Docker sur votre machine

sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

On ajoute le repository pour les sources: (copier tous le bloc et coller le dans votre terminal

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Avant de continuer, on va mettre à jour les repository de la machine et faire les petites mises à jour nécessaire :

sudo apt update

3.3 Installation de docker

Pour installer la dernière version, exécutez :

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Installation des packages
Docker installation domotique

Lorsque vous êtes invité à confirmer la mise à jour, appuyez sur « Y » puis sur Entrée pour continuer.

Une fois l’installation finie, nous allons tester si le service « Docker » fonctionne.
Pour cela il existe un petit container qui ce nomme « Hello-World » et qui a son lancement valide votre celle-ci

sudo docker run hello-world
Résultat de la commande docker run hello-world en tant que sudo
Docker installation domotique

On verra dans la capture ci dessus que le container hello-world répond bien avec la phrase : Hello from docker

Félicitations ! Vous avez réussi à installer Docker sur votre machine. Vous êtes maintenant prêt à commencer à utiliser Docker pour gérer vos conteneurs.

4. Les petits « plus » lors de l’installation

Cependant, pour une utilisation optimale de Docker, il est recommandé de mettre en place certaines petites optimisations. Elles peuvent améliorer les performances, la sécurité et la facilité d’utilisation de Docker.

Voici quelques recommandations :

4.1 Utilisateur

Utilisation de l’utilisateur « dockeruser » pour la gestion des containers et autres fonctionnalités:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

La variable $USER prendra votre utilisateur en cours d’utilisation sur votre machine.
Pour vérifier votre configuration, vous pouvez faire un logout sur votre machine avec la commande « logout » et refaire une connexion SSH

Une fois sur votre machine avec votre utilisateur « dockeruser » pour mon cas, on va tester si je peux lancer des containers sans passé par la commande sudo

docker run hello-world
Résultat de la commande docker run hello-world

4.2 Docker en service

Démarrer docker avec le système: (il faudra mettrele mot de passe)

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Et voilà, docker est en place et fonctionnel !

Have fun !
La suite aux prochains épisodes !
Jonathan

Jonathan

Administrateur dans un service informatique et passionné, moniteur canin et avec un intérêt marqué pour l'airsoft et le tir. J'aime savoir ce que je fais et je suis toujours en quête d'amélioration.