Docker est une plateforme open-source très populaire pour les développeurs et les administrateurs système afin de construire, exécuter et 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, peu couplés, évolutifs et plus sécurisés.
Cet article est un bon point de départ pour les débutants pour apprendre comment 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).
Prérequis :
Installer Docker sur Ubuntu 20.04
Pour utiliser la dernière version de Docker, nous l’installerons à partir du dépôt officiel de Docker. Donc, commencez par ajouter la clé GPG pour le dépôt officiel de Docker à votre système, puis ajoutez la configuration du dépôt à la source APT avec les 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"
Maintenant, mettez à jour le cache des paquets APT pour inclure les nouveaux paquets Docker dans le système en utilisant la commande suivante.
$ sudo apt update
Ensuite, installez le paquet Docker comme indiqué.
$ sudo apt install docker-ce

Pendant le processus d’installation du paquet Docker, l’installateur de paquets déclenche le démarrage automatique du service docker via systemd (gestionnaire de système et de services). Utilisez les commandes suivantes pour confirmer que le service docker est actif et 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, qui incluent ce qui suit :
$ 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 de Docker disponibles en exécutant la commande docker sans options ni arguments :
$ docker

Gérez 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 est la propriété de 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 paquet Docker, un groupe appelé docker
est créé. Lorsque le démon Docker démarre, il crée un socket UNIX accessible par les membres du groupe docker (qui octroie 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 en cours d’exécution, il imprime un message informatif et se ferme. C’est aussi une autre façon de vérifier si votre installation fonctionne correctement.
$ docker run hello-world

Travailler avec les images Docker
A Docker image is a read-only template file with instructions for creating a Docker container. You can either create your custom images or you can only use those created by others and published in the Docker Hub, the world’s largest library and community for container images.
Vous pouvez rechercher une image centos
dans le Hub Docker 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écution et gestion des conteneurs Docker
A Docker container is a process that runs natively on Linux and shares the kernel of the host machine with other containers. Concerning a Docker image, a container is just a running image.
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

A container runs a discrete process that is isolated in that it has its own: file system, networking, and isolated process tree separate from the host. Note that you can manipulate a container using the container’s ID, ID-prefix, or name as shown below. The above container process exits after the command runs.
Pour lister les conteneurs Docker, utilisez la commande docker ps comme suit. Utilisez le drapeau -l
pour afficher le conteneur le plus récemment créé dans tous les états:
$ docker ps OR $ docker ps -l

Pour afficher tous les conteneurs, y compris ceux qui ont quitté, utilisez le drapeau -a
.
$ docker ps -a

Vous pouvez également démarrer un conteneur en utilisant son ID de conteneur après qu’il ait quitté. 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 se fermera):
$ docker start 94c35e616b91

Pour arrêter un conteneur en cours d’exécution en utilisant son ID, utilisez la commande stop comme illustré.
$ docker stop 94c35e616b91
Docker vous permet également d’attribuer un nom à un conteneur en utilisant l’option --name
lors de son exécution.
$ docker run --name my_test centos cat /etc/centos-release $ docker ps -l

Vous pouvez maintenant utiliser le nom du conteneur pour le gérer (démarrer, arrêter, afficher les statistiques, supprimer, etc.) :
$ docker stop my_test $ docker start my_test $ docker stats my_test $ docker rm my_test
Lancer une session interactive dans un conteneur Docker
Pour démarrer une session shell interactive dans un conteneur et exécuter des commandes à l’intérieur, exécutez la commande suivante :
$ docker run --name my_test -it centos

Dans la commande ci-dessus, les commutateurs -it
indiquent à Docker d’allouer un pseudo-TTY connecté à l’entrée standard du conteneur, créant ainsi un shell bash interactif dans le conteneur.
Vous pouvez quitter en utilisant la commande exit comme illustré.
# exit
Si vous préférez ne pas quitter, vous pouvez vous détacher d’un conteneur et le laisser en cours d’exécution. Pour cela, utilisez la séquence de touches CTRL+p
puis CTRL+q
.

Vous pouvez vous reconnecter au conteneur en utilisant la commande attach qui attachera les flux d’entrée, de sortie et d’erreur standards 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
. Ensuite, utilisez la commande attach pour attacher les flux d’entrée, de sortie et d’erreur 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 depuis la session hôte en exécutant la commande suivante :
$ docker kill my_test
C’est tout! Dans ce guide, nous avons couvert comment installer et utiliser Docker CE dans Ubuntu 20.04 Linux. Si vous avez des questions, utilisez le formulaire de feedback ci-dessous pour nous demander.