Recherche de site Web

Comment installer et utiliser Docker sur Ubuntu 20.04


Docker est une plate-forme open source la plus populaire permettant aux développeurs et aux administrateurs système de créer, d'exécuter et de partager des applications avec des conteneurs. La conteneurisation (l'utilisation de conteneurs pour déployer des applications) devient populaire car les conteneurs sont flexibles, légers, portables, faiblement couplés, évolutifs et plus sécurisés.

Cet article est un bon point de départ pour les débutants pour apprendre à installer et utiliser Docker sur un système Linux Ubuntu 20.04 avec quelques commandes de base. Pour ce guide, nous installerons Docker Community Edition (CE).

Conditions préalables:

  • Une installation du serveur Ubuntu 20.04.
  • Un utilisateur disposant des privilèges nécessaires pour exécuter la commande sudo.

Installer Docker sur Ubuntu 20.04

Pour utiliser la dernière version de Docker, nous allons l'installer à partir du référentiel officiel Docker. Commencez donc par ajouter la clé GPG du référentiel officiel Docker à votre système, puis ajoutez la configuration du référentiel à la source APT avec le commandes suivantes.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Mettez maintenant à jour le cache des packages APT pour inclure les nouveaux packages Docker dans le système à l'aide de la commande suivante.

sudo apt update

Ensuite, installez le package Docker comme indiqué.

sudo apt install docker-ce

Pendant le processus d'installation du package Docker, le programme d'installation du package déclenche le systemd (gestionnaire de système et de services) pour démarrer et activer automatiquement le service Docker. Utilisez les commandes suivantes pour confirmer que le service Docker est actif et qu'il est activé pour démarrer automatiquement au démarrage du système. Vérifiez également son statut :

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Il existe plusieurs autres commandes systemctl pour gérer et contrôler le service Docker, notamment :

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

Pour vérifier la version de Docker CE installée sur votre système, exécutez la commande suivante :

docker version

Vous pouvez afficher les commandes d'utilisation du docker disponibles en exécutant la commande docker sans aucune option ni argument :

 
docker

Gérer Docker en tant qu'utilisateur non root avec la commande sudo

Par défaut, le démon Docker se lie à un socket UNIX (au lieu d'un port TCP) qui appartient à l'utilisateur root. Par conséquent, le démon Docker s'exécute toujours en tant qu'utilisateur root et pour exécuter la commande docker, vous devez utiliser sudo.

De plus, lors de l'installation du package Docker, un groupe appelé docker est créé. Lorsque le démon Docker démarre, il crée un socket UNIX accessible aux membres du groupe docker (qui accorde des privilèges équivalents à l'utilisateur root).

Pour exécuter la commande docker sans sudo, ajoutez tous les utilisateurs non root censés accéder à docker, dans le groupe docker comme suit. Dans cet exemple, la commande ajoute l'utilisateur actuellement connecté ($USER) ou le nom d'utilisateur au groupe Docker :

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

Pour activer les modifications apportées aux groupes, exécutez la commande suivante :

newgrp docker 
groups

Vérifiez ensuite que vous pouvez exécuter les commandes docker sans sudo. La commande suivante télécharge une image de test et l'exécute dans un conteneur. Une fois le conteneur exécuté, il imprime un message d'information et se ferme. C'est également une autre façon de vérifier si votre installation fonctionne correctement.

docker run hello-world

Travailler avec des images Docker

Une image Docker est un fichier modèle en lecture seule contenant des instructions pour créer un conteneur Docker. Vous pouvez soit créer vos images personnalisées, soit utiliser uniquement celles créées par d’autres et publiées dans Docker Hub, la plus grande bibliothèque et communauté au monde pour les images de conteneurs.

Vous pouvez rechercher une image centos dans le Docker Hub avec la commande suivante :

docker search centos 

Pour télécharger une image localement, utilisez la commande pull. Cet exemple montre comment télécharger l'image officielle centos.

docker pull centos

Une fois le téléchargement terminé, vous pouvez lister les images disponibles sur votre système local.

docker images

Si vous n'avez plus besoin d'une image, vous pouvez la supprimer de votre système.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Exécuter et gérer les conteneurs Docker

Un conteneur Docker est un processus qui s'exécute nativement sous Linux et partage le noyau de la machine hôte avec d'autres conteneurs. Concernant une image Docker, un conteneur n'est qu'une image en cours d'exécution.

Pour démarrer un conteneur basé sur votre nouvelle image centos, exécutez la commande suivante où « centos » est le nom de l'image locale et « cat /etc/centos-release » est la commande à exécuter dans le conteneur :

docker run centos cat /etc/centos-release

Un conteneur exécute un processus discret isolé dans le sens où il possède son propre système de fichiers, sa mise en réseau et son arborescence de processus isolée, distincte de l'hôte. Notez que vous pouvez manipuler un conteneur en utilisant son ID, son préfixe d'ID ou son nom, comme indiqué ci-dessous. Le processus conteneur ci-dessus se termine après l'exécution de la commande.

Pour répertorier les conteneurs Docker, utilisez la commande docker ps comme suit. Utilisez l'indicateur -l pour afficher le dernier conteneur créé dans tous les états :

docker ps
OR
docker ps -l

Pour afficher tous les conteneurs, y compris ceux qui sont sortis, utilisez l'indicateur -a.

docker ps -a

Vous pouvez également démarrer un conteneur en utilisant son ID de conteneur après sa fermeture. Par exemple, dans la commande précédente, notre ID de conteneur est 94c35e616b91. Nous pouvons démarrer le conteneur comme indiqué (notez qu'il exécutera la commande et quittera) :

docker start 94c35e616b91

Pour arrêter un conteneur en cours d'exécution à l'aide de son ID, utilisez la commande stop comme indiqué.

docker stop 94c35e616b91

Docker vous permet également d'attribuer un nom à un conteneur à l'aide de l'option --name lors de son exécution.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Vous pouvez désormais utiliser le nom du conteneur pour gérer (démarrer, arrêter, statistiques, supprimer, etc.) le conteneur :

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Exécuter une session interactive dans un conteneur Docker

Pour lancer une session shell interactive dans un conteneur afin de vous permettre d'exécuter des commandes dans le conteneur, exécutez la commande suivante :

docker run --name my_test -it centos

Dans la commande ci-dessus, les commutateurs -it indiquent à Docker d'attribuer un pseudo-TTY connecté au stdin du conteneur, créant ainsi un shell bash interactif dans le conteneur.

Vous pouvez quitter en émettant la commande exit comme indiqué.

exit

Si vous préférez ne pas quitter, vous pouvez vous détacher d'un conteneur et le laisser fonctionner. Pour ce faire, utilisez la séquence de touches CTRL+p puis CTRL+q.

Vous pouvez vous reconnecter au conteneur à l'aide de la commande attach qui attachera les flux d'entrée, de sortie et d'erreur standard locaux au conteneur en cours d'exécution :

docker attach my_test

De plus, vous pouvez démarrer un conteneur en mode détaché en utilisant le drapeau -d. Utilisez ensuite la commande attach pour attacher les flux d'entrée, de sortie et d'erreur standard de votre terminal au conteneur en cours d'exécution :

docker run --name my_test -d -it centos
docker attach my_test

Enfin, vous pouvez arrêter un conteneur en cours d'exécution à partir de la session hôte en exécutant la commande suivante :

docker kill my_test

C'est tout! Dans ce guide, nous avons expliqué comment installer et utiliser Docker CE dans Ubuntu 20.04 Linux. Si vous avez des questions, utilisez le formulaire de commentaires ci-dessous pour nous les poser.