GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Installer et utiliser Docker sur Ubuntu et Debian

Docker est un outil qui vous permet de créer, déployer et gérer des packages légers et autonomes appelés conteneurs . Ces conteneurs contiennent le code, les bibliothèques, l'environnement d'exécution, les paramètres système et les dépendances nécessaires pour exécuter une application.

Ce guide couvre l'installation de Docker Engine sur diverses distributions Linux à l'aide de apt gestionnaire de paquets, y compris Ubuntu et Debian, ainsi que l'obtention et l'exécution d'images Docker.

Avant de commencer

  1. Assurez-vous que vous disposez d'un accès en ligne de commande à un serveur Linux exécutant une distribution Linux prise en charge. Si ce n'est pas le cas, suivez les guides Mise en route et Configuration et sécurisation d'une instance de calcul pour créer un nouveau Linode.

    Remarque Ce guide est écrit pour un utilisateur non root. Les commandes qui nécessitent des privilèges élevés sont préfixées par sudo . Si vous n'êtes pas familier avec le sudo commande, consultez le guide Utilisateurs et groupes.
  2. Consultez les guides Docker suivants pour mieux comprendre Docker, ses avantages et quand l'utiliser.

    • Une introduction à Docker
    • Quand et pourquoi utiliser Docker

Installer Docker Engine sur Ubuntu et Debian

Docker Engine est le logiciel de conteneurisation sous-jacent utilisé lors du déploiement de conteneurs Docker. Les instructions suivantes installeront Docker Engine sur l'une de ces versions Ubuntu et Debian prises en charge :

Distributions prises en charge : Ubuntu 20.04, Ubuntu 18.04, Ubuntu 16.04, Debian 10, Debian 9. Les versions récentes non LTS comme Ubuntu 21.04, 20.10 et 21.10 devraient également être prises en charge.

  1. Assurez-vous que Docker n'est pas actuellement installé. La sortie indiquant que l'un des packages est introuvable peut être ignorée en toute sécurité.

    sudo apt remove docker docker-engine docker.io
    
  2. Installez les packages requis pour configurer le référentiel de Docker :

    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release
    
  3. Ajoutez la clé GPG de Docker. Dans la commande suivante, remplacez [url] avec l'url qui correspond à la distribution que votre système exécute.

    curl -fsSL [url]/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    • Ubuntu : https://download.docker.com/linux/ubuntu
    • Debian : https://download.docker.com/linux/debian
  4. Ajouter le stable Référentiel Docker, remplaçant à nouveau [url] avec l'url qui correspond à la distribution que votre système exécute.

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [url] $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  5. Installez Docker Engine et les autres packages requis :

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    

Des instructions d'installation supplémentaires pour ces distributions sont disponibles dans la documentation de Docker :

  • Installer Docker Engine sur Ubuntu
  • Installer Docker Engine sur Debian

Démarrer et tester Docker

Une fois Docker Engine installé, démarrez Docker et vérifiez que tout fonctionne en exécutant une image de test.

  1. Assurez-vous que le serveur Docker est en cours d'exécution.

    sudo systemctl start docker
    
  2. Configurez éventuellement Docker pour qu'il démarre au démarrage du serveur. Ceci est recommandé si vous avez l'intention d'exécuter une application de production dans cette installation Docker.

    sudo systemctl enable docker
    sudo systemctl enable containerd
    
  3. Vérifiez que Docker est correctement installé en exécutant l'image "hello-world".

    sudo docker run hello-world
    

    En cas de succès, Docker doit télécharger et exécuter l'image hello-world et afficher un message de réussite. Entre autres textes, la sortie doit inclure un message semblable au suivant :

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

Utiliser Docker avec un utilisateur non root

Par défaut, sudo est nécessaire pour exécuter les commandes Docker, mais un nouveau groupe, appelé docker , a été créé lors de l'installation. Lorsque le démon Docker démarre, il ouvre un socket Unix pour le docker membres du groupe.

Avant de continuer, assurez-vous d'avoir un compte d'utilisateur limité qui n'en a pas appartiennent au groupe sudo. Si vous n'avez pas encore créé de compte utilisateur limité, consultez les guidesConfiguration et sécurisation d'une instance de calcul ou Utilisateurs et groupes Linux pour obtenir des instructions.

  1. Entrez la commande ci-dessous pour ajouter un utilisateur au docker groupe, remplaçant [utilisateur] avec le nom de votre compte d'utilisateur limité.

    sudo usermod -aG docker [user]
    
  2. Connectez-vous au système en tant qu'utilisateur limité.

  3. Vérifiez que l'utilisateur limité peut exécuter docker commandes sans sudo en exécutant à nouveau l'image "hello-world".

    docker run hello-world
    

    La sortie doit avoir un message de réussite similaire à la sortie précédente.

Attention Le docker groupe accorde des privilèges similaires à ceux de l'utilisateur root. Consultez le guide Docker Daemon Attack Surface dans la documentation de Docker pour plus d'informations sur la façon dont cela peut affecter la sécurité du système. Pour exécuter le démon Docker sans utiliser les privilèges root, suivez les instructions de Exécuter le démon Docker en tant qu'utilisateur non root (mode sans racine).

Résoudre les erreurs de chargement des fichiers de configuration

Si l'utilisateur avait exécuté sudo docker commandes avant de rejoindre le groupe, elles peuvent se voir présenter un échec lors du chargement du fichier de configuration, comme ceci :

WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied

Le problème est que le répertoire .docker dans leur répertoire personnel (~/.docker) a été créé avec les autorisations accordées par sudo .

Il existe deux correctifs possibles :

  1. Supprimer le .docker répertoire à partir de leur répertoire personnel. Docker le recréera automatiquement, mais tous les paramètres personnalisés seront perdus.

  2. Modifier les autorisations sur le .docker répertoire à l'aide des commandes :

    sudo chown example_user:example_user /home/example_user/.docker -R
    sudo chmod g+rwx "/home/example_user/.docker" -R
    

Utiliser des images Docker pour déployer des conteneurs

Les images Docker sont des modèles qui incluent les instructions et les spécifications pour créer un conteneur. Pour utiliser Docker, vous devez d'abord obtenir une image ou créer la vôtre en créant un dockerfile. Pour plus d'informations, consultez Une introduction à Docker.

Liste des images

Pour répertorier toutes les images de votre système, exécutez la commande suivante. Cela devrait afficher le hello-world image qui a été utilisée lors d'une étape précédente, ainsi que toute image supplémentaire que vous avez peut-être déjà obtenue.

docker images

Rechercher une image

Les images sont stockées sur des registres Docker, tels que Docker Hub (registre officiel de Docker). Vous pouvez rechercher des images sur ce site Web ou utiliser la commande suivante pour effectuer une recherche dans le registre Docker. Dans la commande suivante, remplacez [keyword] avec les mots clés que vous souhaitez rechercher, tels que nginx ou apache .

docker search [keyword]

Obtenir une image

Une fois que vous avez trouvé une image, téléchargez-la sur votre serveur. Dans la commande suivante, remplacez [image] avec le nom de l'image que vous souhaitez utiliser.

docker pull [image]

Par exemple, pour dérouler l'image officielle de nginx, exécutez :docker pull nginx .

Exécuter une image

Ensuite, créez un conteneur basé sur l'image en utilisant le docker run commande. Encore une fois, remplacez [image] avec le nom de l'image que vous souhaitez utiliser.

docker run [image]

Si l'image n'a pas encore été téléchargée et est disponible dans le registre de Docker, l'image sera automatiquement téléchargée sur votre serveur.

Gestion des conteneurs Docker

Liste des conteneurs

Pour répertorier tous les conteneurs Docker actifs (et inactifs) exécutés sur votre système, exécutez la commande suivante :

docker ps -a

La sortie doit ressembler à ce qui suit. Cet exemple de sortie montre le hello-world conteneur.

CONTAINER ID   IMAGE         COMMAND    CREATED       STATUS                   PORTS     NAMES
5039168328a5   hello-world   "/hello"   2 hours ago   Exited (0) 2 hours ago             magical_varahamihira

Démarrer un conteneur

Démarrez un conteneur Docker avec la commande suivante, en remplaçant [ID] avec l'ID de conteneur correspondant au conteneur que vous souhaitez démarrer :

docker start [ID]

Arrêter un conteneur

Arrêtez un conteneur Docker avec la commande suivante, en remplaçant [ID] avec l'identifiant du conteneur correspondant au conteneur que vous souhaitez arrêter :

docker stop [ID]

Certaines images (comme le hello-world image) s'arrêtent automatiquement après leur exécution. Cependant, de nombreux autres conteneurs continuent de s'exécuter jusqu'à ce qu'on leur demande explicitement de s'arrêter, et vous souhaiterez peut-être exécuter ces conteneurs en arrière-plan. Dans ces cas, cette commande peut être utile.

Supprimer un conteneur

Supprimez un conteneur Docker avec la commande suivante, en remplaçant [ID] avec l'ID de conteneur correspondant au conteneur que vous souhaitez supprimer :

docker rm [ID]

Plus d'informations

Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.

  • Site Web pour Docker
  • Documentation pour Docker
  • Site Web pour containerd

Docker
  1. Comment installer Docker sur Debian / Ubuntu

  2. Problèmes Docker dans Ubuntu 20.04 ?

  3. Installation et utilisation de Docker sur CentOS et Fedora

  4. Comment faire une installation Docker sans racine (sur Ubuntu et Debian)

  5. Installation de Docker (Ubuntu)

Comment installer Gitea sur Ubuntu en utilisant Docker

Comment installer et utiliser Docker sur Ubuntu 22.04

Installer correctement Docker sur Ubuntu [Guide du débutant]

Comment installer et utiliser Docker sur Ubuntu 20.04

Comment créer un utilisateur Sudo sur Ubuntu et Debian

Comment utiliser apt-get reinstall sur Debian et Ubuntu