Si vous avez installé Docker Desktop, vous disposez déjà d'une installation complète de Docker, y compris Compose.
1. Installez Docker Desktop sur Ubuntu
conditions préalables
Pour installer avec succès Docker Desktop, vous devez :
- répondre aux exigences du système
- Avoir une version 64 bits d'Ubuntu Jammy Jellyfish 22.04 (LTS) ou Ubuntu Impish Indri 21.10.
x86_64
(ouamd64
) prend en charge Docker Desktop. - Pour les environnements de bureau non Gnome, vous devez installer
gnome-terminal
:
sudo apt install gnome-terminal
- Désinstallez une préversion technique ou une version bêta de Docker Desktop pour Linux. Exécutez la commande suivante :
sudo apt remove docker-desktop
Pour nettoyer complètement, supprimez $HOME/.docker/desktop
les fichiers de configuration et de données sur, /usr/local/bin/com.docker.cli
les liens symboliques sur et exécutez les commandes suivantes pour nettoyer les fichiers de service systemd restants :
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
Remarque : Si vous avez installé une version bêta ou une version bêta de Docker Desktop pour Linux, vous devrez supprimer tous les fichiers générés par ces packages, tels que
~/.config/systemd/user/docker-desktop.service
~/.local/share/systemd/user/docker-desktop.service
Installer Docker Desktop
La méthode recommandée pour installer Docker Desktop sur Ubuntu est en trois étapes :
Configurez le référentiel de packages de Docker .
Téléchargez le dernier package DEB .
Installer des packages à l'aide d'apt
Installer à l'aide du référentiel
Avant d'installer Docker Engine sur un nouvel hôte pour la première fois, vous devez configurer un référentiel Docker. Après cela, vous pouvez installer et mettre à jour Docker à partir du référentiel.
1. Configurez la bibliothèque de version du package Docker .
1) Configurer le référentiel
-
Autoriser la mise à jour de l' index des packages et l'installation de packages
apt
à l'aide du référentiel via HTTPS :apt
$ sudo apt-get update $ sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
-
Ajoutez la clé GPG officielle de Docker :
$ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
-
Configurez le dépôt à l'aide de la commande suivante :
$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
2) Installer le moteur Docker
-
Mettez à jour
apt
l'index du package pour installer les dernières versions de Docker Engine, containerd et Docker Compose, ou passez à l'étape suivante pour installer une version spécifique :$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
apt-get update
Obtenir des erreurs GPG lors de l'exécution ?Votre umask par défaut peut ne pas être défini correctement, ce qui empêche la détection du fichier de clé publique du dépôt. Exécutez la commande suivante, puis réessayez de mettre à jour votre dépôt :
sudo chmod a+r /etc/apt/keyrings/docker.gpg
-
Pour installer une version spécifique de Docker Engine, répertoriez les versions disponibles dans le référentiel, puis sélectionnez et installez :
a. Répertoriez les versions disponibles dans votre référentiel :
$ apt-cache madison docker-ce docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
b. Utilisez la chaîne de version dans la deuxième colonne pour installer une version spécifique, par exemple 5:20.10.16~3-0~ubuntu-jammy.
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
-
hello-world
Vérifiez que Docker Engine a été installé correctement en exécutant l'image.$ sudo service docker start $ 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 et se termine.
Docker Engine est installé et en cours d'exécution. Le docker
groupe a été créé, mais aucun utilisateur n'y a été ajouté. Nécessaire pour sudo
exécuter les commandes Docker avec .
3) Ajouter un groupe d'utilisateurs (pour gérer Docker en tant qu'utilisateur non root)
Le démon Docker se lie aux sockets Unix au lieu des ports TCP. Par défaut, les sockets Unix appartiennent à l'utilisateur root, les autres utilisateurs ne peuvent utiliser que sudo. Le démon Docker s'exécute toujours en tant que root.
Si vous ne voulez pas docker
ajouter la commande au début sudo
, créez un groupe appelé Unix docker
et ajoutez-y l'utilisateur. Lorsque le démon Docker démarre, il crée un docker
socket Unix accessible aux membres du groupe.
Pour créer docker
des groupes et ajouter vos utilisateurs :
-
Créez
docker
des groupes.$ sudo groupadd docker
-
Ajoutez votre utilisateur au
docker
groupe.$ sudo usermod -aG docker $USER
-
Déconnectez-vous et reconnectez-vous afin que vos appartenances à des groupes soient réévaluées.
En cas de test sur une machine virtuelle, il peut être nécessaire de redémarrer la machine virtuelle pour que les modifications prennent effet.
Dans un environnement de bureau Linux (tel que X Windows), déconnectez-vous complètement de la session, puis reconnectez-vous
Sous Linux, vous pouvez également exécuter la commande suivante pour activer les modifications apportées aux groupes :
$ newgrp docker
-
Vérifiez que vous pouvez exécuter des commandes docker sans 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 et se termine.
Si vous exécutez la commande Docker CLI avec sudo avant d'ajouter l'utilisateur au groupe Docker, vous pouvez voir l'erreur suivante, qui indique que votre répertoire ~/.docker/ est causé par le fait que la commande n'a pas d'autorisations
sudo
.
WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied
Pour résoudre ce problème, supprimez le répertoire ~/.docker/ (il sera recréé automatiquement, mais toutes les personnalisations seront perdues) ou modifiez son propriétaire et ses autorisations avec les commandes suivantes :
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R
4) Configurer Docker pour qu'il démarre au démarrage
La plupart des distributions Linux actuelles (RHEL, CentOS, Fedora, Debian, Ubuntu 16.04 et versions ultérieures) utilisent systemd pour gérer les services qui démarrent au démarrage du système. Sur Debian et Ubuntu, le service Docker est configuré par défaut pour démarrer au démarrage. Pour démarrer automatiquement d'autres distributions pour Docker et Containerd au démarrage, utilisez les commandes suivantes :
$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service
Pour désactiver ce comportement, utilisez à la place disable
.
$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service
2. Téléchargez le dernier package DEB .
3. Utilisez apt pour installer le paquet
$ sudo apt-get update
$ sudo apt-get install ./docker-desktop-<version>-<arch>.deb
REMARQUE : À la fin du processus d'installation, apt
une erreur s'affiche en raison de l'installation du package téléchargé. Vous pouvez ignorer ce message d'erreur.
N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
Le script d'installation inclus dans le package deb effectue plusieurs étapes de configuration après l'installation :
Script d'installation :
- Définit les capacités du binaire Docker Desktop pour mapper les ports privilégiés et définir les limites des ressources.
- Ajoutez le nom DNS de Kubernetes au fichier
/etc/hosts
. - Créer un lien de
/usr/bin/docker
/usr/local/bin/com.docker.cli
4. Démarrez Docker Desktop
Pour démarrer Docker Desktop pour Linux, recherchez Docker Desktop dans le menu Applications et ouvrez-le. Cela lancera l'icône du menu baleine et ouvrira le tableau de bord Docker, signalant l'état de Docker Desktop.
Sinon, ouvrez un terminal et exécutez :
$ systemctl --user start docker-desktop
Lorsque Docker Desktop démarre, il crée un contexte dédié que la CLI Docker peut utiliser comme cible et le définit comme contexte actuellement utilisé. Cela permet d'éviter les conflits avec les moteurs Docker natifs susceptibles de s'exécuter sur un hôte Linux et d'utiliser le contexte par défaut. Lors de l'arrêt, Docker Desktop réinitialise le contexte actuel au contexte précédent.
Le programme d'installation de Docker Desktop met à jour les fichiers binaires Docker Compose et Docker CLI sur l'hôte. Il installe Docker Compose V2 et donne aux utilisateurs la possibilité de le lier en tant que docker-compose à partir du panneau Paramètres. Docker Desktop installe un nouveau binaire Docker CLI qui /usr/local/bin
inclut l'intégration du cloud dans et /usr/local/bin/com.docker.cli
crée un lien symbolique vers l'ancien Docker CLI dans .
Après avoir installé Docker Desktop avec succès, vous pouvez vérifier les versions de ces binaires en exécutant :
Remarque : S'il n'y a aucun problème lors de l'exécution des commandes suivantes sur le terminal actuel, mais si vous rencontrez un problème d'autorisation lors de l'exécution de la version docker sur un nouveau terminal, redémarrez simplement le système.
$ docker compose version
Docker Compose version v2.12.0
$ docker --version
Docker version 20.10.20, build 9fdeb9c
$ docker version
Client: Docker Engine - Community
Cloud integration: v1.0.29
Version: 20.10.20
API version: 1.41
Go version: go1.18.7
Git commit: 9fdeb9c
Built: Tue Oct 18 18:20:18 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.20
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 03df974
Built: Tue Oct 18 18:18:08 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Pour permettre à Docker Desktop de démarrer à la connexion, sélectionnez Paramètres > Général > Démarrer Docker Desktop à la connexion dans le menu Docker .
Sinon, ouvrez un terminal et exécutez :
$ systemctl --user enable docker-desktop
Pour arrêter Docker Desktop, cliquez sur l'icône de la barre de menu baleine pour ouvrir le menu Docker et sélectionnez Quitter Docker Desktop .
Sinon, ouvrez un terminal et exécutez :
$ systemctl --user stop docker-desktop
5. Mettre à niveau le bureau Docker
L'interface utilisateur Docker affiche une notification lorsqu'une nouvelle version de Docker Desktop est publiée. Chaque fois que vous souhaitez mettre à niveau et exécuter Docker Desktop, vous devez télécharger un nouveau package :
$ sudo apt-get install ./docker-desktop-<version>-<arch>.deb
6. Connectez-vous et démarrez
Guide de démarrage rapide
Après avoir installé Docker Desktop, le guide de démarrage rapide se lancera. Il comprend un exercice simple consistant à créer un exemple d'image Docker, à l'exécuter en tant que conteneur, à pousser l'image vers Docker Hub et à l'enregistrer.
Pour exécuter le Guide de démarrage rapide à la demande, sélectionnez et choisissez Guide de démarrage rapide.
Pour un guide plus détaillé, consultez Premiers pas .
Connectez-vous à Docker Desktop
Il est recommandé de s'authentifier à l'aide de l'option Login/Create ID dans le coin supérieur droit de Docker Desktop .
Une fois connecté, vous pouvez accéder au référentiel Docker Hub directement depuis Docker Desktop.
Les utilisateurs authentifiés obtiennent une limite de taux d'extraction plus élevée que les utilisateurs anonymes. Par exemple, si vous êtes authentifié, vous obtenez 200 tirages toutes les 6 heures, tandis que les utilisateurs anonymes obtiennent 100 tirages toutes les 6 heures par adresse IP. Pour plus d'informations, consultez Limitation du taux de téléchargement .
authentification à deux facteurs
Docker Desktop vous permet de vous connecter à Docker Hub à l'aide d'une authentification à deux facteurs. L'authentification à deux facteurs fournit une couche de sécurité supplémentaire lors de l'accès à votre compte Docker Hub.
Avant de pouvoir vous connecter à votre compte Docker Hub via Docker Desktop, vous devez activer l'authentification à deux facteurs dans Docker Hub. Pour obtenir des instructions, consultez Activer l'authentification à deux facteurs pour Docker Hub .
Après avoir activé l'authentification à deux facteurs :
-
Allez dans le menu Docker Desktop et sélectionnez Login/Create Docker ID .
-
Saisissez votre ID Docker et votre mot de passe, puis cliquez sur Connexion .
-
Après une connexion réussie, Docker Desktop vous demandera un code de vérification. Entrez le code à six chiffres de votre téléphone et cliquez sur Vérifier .
Gestion des informations d'identification pour les utilisateurs Linux
Docker Desktop s'appuie sur des laissez-passer pour stocker les informations d'identification dans des fichiers chiffrés gpg2. Avant de pouvoir vous connecter à Docker Hub depuis le tableau de bord Docker ou le menu Docker, vous devez initialiser la passe. ,
Un avertissement s'affiche si vous n'avez pas initialisé pass Docker Desktop.
Vous pouvez utiliser la touche gpg pour initialiser la passe. Pour générer une clé gpg, exécutez :
$ gpg --generate-key
...
GnuPG needs to construct a user ID to identify your key.
Real name: Fbbqt
Email address: [email protected]
You selected this USER-ID:
"Fbbqt <[email protected]>"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
...
pub rsa3072 2022-03-31 [SC] [expires: 2024-03-30]
7865BA9185AFA2C26C5B505669FC4F36530097C2
uid Fbbqt <[email protected]>
sub rsa3072 2022-10-21 [E] [expires: 2024-10-20]
Pour initialiser pass
, exécutez :
fbbqt@ubuntu:~$ pass init 7865BA9185AFA2C26C5B505669FC4F36530097C2
mkdir: created directory '/home/fbbqt/.password-store/'
Password store initialized for 7865BA9185AFA2C26C5B505669FC4F36530097C2
Après avoir initialisé le pass, vous pouvez vous connecter au tableau de bord Docker et extraire votre image privée. Lors de l'utilisation d'informations d'identification avec Docker CLI ou Docker Desktop, l'utilisateur peut être invité à saisir la phrase secrète que vous avez définie lors de la génération de la clé gpg.
$ docker pull fbbqt/privateimage
Using default tag: latest
latest: Pulling from fbbqt/privateimage
3b9cc81c3203: Pull complete
Digest: sha256:3c6b73ce467f04d4897d7a7439782721fd28ec9bf62ea2ad9e81a5fb7fb3ff96
Status: Downloaded newer image for fbbqt/privateimage:latest
docker.io/fbbqt/privateimage:latest