GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et utiliser Docker dans Ubuntu 20.04

Docker est un ensemble de plateformes en tant que produits de service qui utilisent la virtualisation au niveau du système d'exploitation pour fournir des logiciels dans des packages appelés conteneurs. Les conteneurs sont isolés les uns des autres et regroupent leurs propres logiciels, bibliothèques et fichiers de configuration ; ils peuvent communiquer entre eux via des canaux bien définis.

Messages associés

  • Comment installer et configurer docker dans Fedora 34/35
  • Comment installer et configurer Docker sur Debian 11
  • Comment installer et configurer docker dans Centos 8
  • Premiers pas avec Docker Compose avec des exemples
  • Docker en tant qu'agent de build :exécutez les builds Jenkins sur Docker

Prérequis

Pour suivre, assurez-vous d'avoir :

  • Un système Ubuntu 20.04
  • Accès Internet depuis le système
  • Accès root ou utilisateur avec accès sudo

Table des matières

  1. Assurez-vous que vos packages système sont à jour
  2. Désinstaller les versions précédentes, le cas échéant
  3. Installer le moteur Docker à l'aide du référentiel
  4. Installer le moteur Docker à partir d'un package
  5. Installer à l'aide du script pratique
  6. Vérifier l'installation
  7. Exécuter la commande Docker sans Sudo
  8. Désinstaller Docker lorsqu'il n'est plus nécessaire

1. Assurez-vous que vos packages système sont à jour

Avant de continuer, laissez-nous nous assurer que vos packages sont mis à jour

sudo apt update
sudo apt upgrade -y

2. Désinstallez les versions précédentes le cas échéant

Les packages fournissant des versions plus anciennes de Docker sont docker , docker.io , ou docker-engine .
Utilisons cette commande pour nous assurer que ces packages n'existent pas dans notre système :

sudo apt-get remove -y docker docker-engine docker.io containerd runc

Ce n'est pas grave si apt-get signale qu'aucun de ces packages n'est installé.

Installer Docker

Vous pouvez installer Docker Engine de différentes manières, selon vos besoins :

  • Vous pouvez configurer des référentiels Docker et installer Docker à l'aide d'apt
  • Vous pouvez télécharger les packages DEB et les installer manuellement
  • Vous pouvez choisir d'utiliser des scripts pratiques automatisés pour installer Docker

3. Installer le moteur Docker à l'aide du référentiel

Sur un nouvel hôte, les référentiels Docker n'existent pas. Pour la première fois sur une nouvelle machine hôte, vous devez configurer le référentiel Docker. Ensuite, vous pouvez installer et mettre à jour Docker à partir du référentiel.

Installons les packages suivants pour permettre à apt d'utiliser un référentiel via HTTPS :

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Ajoutez la clé GPG officielle de Docker :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Utilisez la commande suivante pour configurer le dépôt stable.

echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Installer le moteur Docker

Mettez à jour l'index des packages apt depuis que nous avons ajouté un nouveau référentiel :

sudo apt-get update

Installons maintenant la dernière version de Docker Engine et conteneurd usi

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

Facultatif :Installer une version spécifique

Si vous avez des exigences qui nécessitent une version spécifique, vous pouvez le faire.

Pour installer une version spécifique :
Listez les versions disponibles dans votre référentiel :

$ sudo apt-cache madison docker-ce
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

Vous pouvez maintenant installer une version spécifique en utilisant la chaîne de version de la deuxième colonne, par exemple, 5:19.03.9~3-0~ubuntu-focal .

sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io

Exemple :

sudo apt-get install docker-ce=5:19.03.9~3-0 docker-ce-cli=5:19.03.9~3-0 containerd.io

4. Installer le moteur docker à partir d'un package

Si vous ne pouvez pas utiliser le référentiel de Docker pour installer Docker Engine, vous pouvez télécharger le fichier .deb pour votre version et l'installer manuellement. Vous devez télécharger un nouveau fichier chaque fois que vous souhaitez mettre à niveau Docker.

Accédez à https://download.docker.com/linux/ubuntu/dists/, choisissez votre version d'Ubuntu, puis accédez à pool/stable/ , choisissez amd64 , armhf , ou arm64 , et téléchargez le fichier .deb pour la version de Docker Engine que vous souhaitez installer.

Installez Docker Engine, en remplaçant le chemin ci-dessous par le chemin où vous avez téléchargé le package Docker.

 sudo dpkg -i /path/to/package.deb

Le démon Docker démarre automatiquement.

Vérifiez que Docker Engine est correctement installé en exécutant l'image hello-world.

sudo docker run hello-world

Cette commande télécharge une image de test et l'exécute dans un conteneur. Lorsque le conteneur s'exécute, il imprime un message d'information et se ferme.

5. Installer à l'aide du script pratique

Docker fournit un script pratique sur get.docker.com pour installer Docker dans des environnements de développement rapidement et de manière non interactive.

Cet exemple télécharge le script depuis get.docker.com et l'exécute pour installer la dernière version stable de Docker sous Linux :

 curl -fsSL https://get.docker.com -o get-docker.sh
 sudo sh get-docker.sh

6. Vérifier l'installation

Lors de l'installation, docker s'exécutera en tant que démon. Pour vérifier que docker est en cours d'exécution, nous utilisons le systemctl status docker commande :

$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-10-08 05:35:57 UTC; 3min 50s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 146750 (dockerd)
      Tasks: 8
     Memory: 30.0M
     CGroup: /system.slice/docker.service
             └─146750 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378859538Z" level=warning msg="Your kernel does not support CPU r>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378869630Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.378877385Z" level=warning msg="Your kernel does not support cgrou>
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.379112713Z" level=info msg="Loading containers: start."
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.500736755Z" level=info msg="Default bridge (docker0) is assigned >
Oct 08 05:35:57 ip-172-26-11-229 dockerd[146750]: time="2021-10-08T05:35:57.560469239Z" level=info msg="Loading containers: done."

Le Active: active (running) montre que docker a été démarré avec succès.

Nous pouvons lancer un hello-world image pour tester que docker fonctionne comme prévu :

 sudo docker run hello-world

Cette commande télécharge une image de test et l'exécute dans un conteneur. Lorsque le conteneur s'exécute, il imprime un message d'information et se ferme.

J'ai obtenu cette sortie, montrant que cela fonctionne bien :

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:9ade9cc2e26189a19c2e8854b9c8f1e14829b51c55a630ee675a5a9540ef6ccf
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

7. Exécuter la commande Docker sans Sudo

Par défaut, la commande docker ne peut être exécutée que par l'utilisateur root ou par un utilisateur du groupe docker, qui est automatiquement créé lors du processus d'installation de Docker. Si vous essayez d'exécuter la commande docker sans la préfixer avec sudo ou sans faire partie du groupe docker, vous obtiendrez une sortie comme celle-ci :

$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Si vous voulez éviter de taper sudo chaque fois que vous exécutez la commande docker, ajoutez votre nom d'utilisateur au groupe docker :

sudo usermod -aG docker ${USER}

Pour appliquer la nouvelle adhésion au groupe, déconnectez-vous du serveur et reconnectez-vous, ou saisissez ce qui suit :

su - ${USER}

Vous serez invité à saisir votre mot de passe utilisateur pour continuer.

Confirmez que votre utilisateur est maintenant ajouté au groupe Docker en tapant :

id -nG

Je vois ceci, confirmant que j'appartiens maintenant au groupe docker

$ id -nG
ubuntu docker

Maintenant je peux faire docker :
Je peux lancer alpine image

$ docker run --rm -it --name alpine --entrypoint /bin/sh alpine:3
Unable to find image 'alpine:3' locally
3: Pulling from library/alpine
a0d0a0d46f8b: Pull complete
Digest: sha256:e1c082e3d3c45cccac829840a25941e679c25d438cc8412c2fa221cf1a824e6a
Status: Downloaded newer image for alpine:3
/ #

Nous avons installé avec succès docker dans notre système !

8. Désinstaller Docker lorsqu'il n'est plus nécessaire

Pour effacer complètement Docker Engine du système, nous devons désinstaller les packages Docker Engine, CLI et Containerd :

 sudo apt-get purge docker-ce docker-ce-cli containerd.io -y

Les images, conteneurs, volumes ou fichiers de configuration personnalisés sur votre hôte ne sont pas automatiquement supprimés. Pour supprimer toutes les images, conteneurs et volumes :

 sudo rm -rf /var/lib/docker
 sudo rm -rf /var/lib/containerd

Vous devez supprimer manuellement tous les fichiers de configuration modifiés.

Conclusion

Dans ce guide, nous avons réussi à installer docker sur notre système Ubuntu 20.04.


Ubuntu
  1. Comment installer et utiliser Docker sur Ubuntu 20.04

  2. Comment installer et utiliser Wine sur Ubuntu 20.04

  3. Comment installer et utiliser Docker sur Ubuntu 18.04

  4. Comment installer et utiliser Docker Compose sur Ubuntu 18.04

  5. Comment installer et utiliser FFmpeg sur Ubuntu 18.04

Comment installer et utiliser R sur Ubuntu

Comment installer et utiliser vnStat sur Ubuntu 21.04

Comment installer et utiliser Docker Compose sur Ubuntu 20.04

Comment installer et utiliser Docker Compose sur Ubuntu 22.04

Comment installer et utiliser Docker sur Ubuntu 22.04

Comment installer et utiliser Docker sur Ubuntu 20.04