Comment installer Docker et exécuter des conteneurs Docker dans Ubuntu

Comment installer Docker et exécuter des conteneurs Docker dans Ubuntu

Docker est une virtualisation open source et populaire au niveau du système d'exploitation (communément appelé ««conteneurisation») Technologie qui s'exécute principalement sur Linux et Windows. Docker facilite la création, le déploiement et l'exécution d'applications en utilisant conteneurs.

Avec conteneurs, Les développeurs (et les administrateurs système) peuvent emballer une application avec tout ce qui est nécessaire pour exécuter l'application - le code, une heure d'exécution, des bibliothèques, des variables d'environnement et des fichiers de configuration, et tout expédier en un seul package. Oui, c'est si génial!

Dans cet article, nous vous montrerons comment installer Docker CE (Community Edition), Créer et exécuter des conteneurs Docker sur Ubuntu distribution.

Installation de Docker CE (Community Edition) à Ubuntu

1. À installer Docker CE, Tout d'abord, vous devez supprimer les anciennes versions de Docker ont été appelés docker, docker.Io, ou moteur à moteur du système en utilisant la commande suivante.

$ sudo apt-get retire docker docker-mo dans docker.IO Containerd Runc 

2. Ensuite, vous devez configurer le référentiel Docker pour installer et mettre à jour Docker dans le référentiel à l'aide des commandes suivantes.

$ sudo apt-get upding $ curl -fsssl https: // télécharger.docker.com / linux / ubuntu / gpg | sudo apt-key add - $ sudo add-apsOsOsitory "Deb [arch = amd64] https: // download.docker.com / linux / ubuntu $ (lsb_release -cs) stable " 

3. Mettez à jour l'index de package APT et installez la dernière version de Docker CE en utilisant les commandes suivantes.

$ sudo apt-get updue $ sudo apt-get install docker-ge docker-c-cli contenerd.Io 
Installation de Docker CE à Ubuntu
Listes de packages de lecture… FAIT DU CONSTRUCTION DES DÉPÉLENCES DES INFORMATIONS D'ÉTAT… FAIT Les packages supplémentaires suivants seront installés: AUFS-TOOLS CGROUPFS-MOUNT PIGZ Les nouveaux packages suivants seront installés: AUFS-TOOLS CGROUPFS-MOUNT CONTENTERD.IO Docker-CE Docker-Ce-Cli Pigz 0 amélioré, 6 nouvellement installé, 0 pour enlever et 167 non amélioré. Besoin d'en obtenir 50.7 Mo d'archives. Après cette opération, 243 Mo d'espace disque supplémentaire seront utilisés. Voulez-vous continuer? [O / N] Y Get: 1 http: // Archive.ubuntu.com / ubuntu bionic / univers amd64 pigz amd64 2.4-1 [57.4 kb] Get: 2 https: // Télécharger.docker.com / linux / ubuntu bionic / stable AMD64 contenerd.IO AMD64 1.2.4-1 [19.9 Mo] Get: 3 http: // archive.ubuntu.com / ubuntu bionic / univers AMD64 AUFS-TOOLS AMD64 1: 4.9 + 20170918-1UBUNTU1 [104 KB] Get: 4 http: // archive.ubuntu.com / ubuntu bionic / univers amd64 cgroupfs-mont tout 1.4 [6,320 b] Get: 5 https: // Télécharger.docker.com / linux / ubuntu bionic / stable AMD64 docker-ce-Cli AMD64 5:18.09.3 ~ 3-0 ~ Ubuntu-bionic [13.1 Mo] Get: 6 https: // Télécharger.docker.com / linux / ubuntu bionic / stable AMD64 docker-ce AMD64 5:18.09.3 ~ 3-0 ~ Ubuntu-bionic [17.4 Mb] récupéré 50.7 Mb en 7s (7 779 Ko / s)… 

4. Après avoir réussi à installer le Docker CE Package, le service doit être démarré automatiquement et auto-compatible pour démarrer au démarrage du système, vous pouvez vérifier son état en utilisant la commande suivante.

$ sudo systemctl status docker 
Vérification de l'état Docker CE
● Docker.Service - moteur de conteneur d'application Docker chargé: chargé (/ lib / systemd / système / docker.service; activé; Vendor Preset: Activé) Actif: Active (en cours d'exécution) depuis mercredi 2019-03-06 08:06:42 UTC; 2min 18 il y a des documents: https: // docs.docker.com principal PID: 5274 (docker) Tâches: 8 cgroup: / système.tranche / docker.Service └fique.chaussette mars 06 08:06:41 Tecmint Dockerd [5274]: Time = "2019-03-06T08: 06: 41.562587408Z "niveau = avertissement msg =" Votre noyau ne prend pas en charge CGroup RT Runtime "mars 06 08:06:41 Tecmint Dockerd [5274]: Time =" 2019-03-06T08: 06: 41.562767803Z "Niveau = avertissement msg =" Votre noyau ne prend pas en charge Cgroup Blkio Weight "mars 06 08:06:41 Tecmint Dockerd [5274]: Time =" 2019-03-06T08: 06: 41.562966844Z "niveau = avertissement msg =" Votre noyau ne prend pas en charge Cgroup Blkio Weight_device "mars 06 08:06:41 Tecmint Dockerd [5274]: Time =" 2019-03-06T08: 06: 41.565298457Z "niveau = info msg =" CONTUSTEURS DE CHARGE: Démarrer."MAR 06 08:06:41 Tecmint Dockerd [5274]: Time =" 2019-03-06T08: 06: 41.950942467Z "niveau = info msg =" Le pont par défaut (docker0) est attribué avec une adresse IP 172.17.0.0/16. Option de démon - BIP peut être utilisé pour définir un MAR PROVERT 06 08:06:42 Tecmint Dockerd [5274]: Time = "2019-03-06T08: 06: 42.036964493Z "niveau = info msg =" Charging Containeurs: Terminé."MAR 06 08:06:42 Tecmint Dockerd [5274]: Time =" 2019-03-06T08: 06: 42.156279378Z "niveau = info msg =" docker daemon "commit = 774a1f4 graphDriver (s) = superlay2 version = 18.09.3 mars 06 08:06:42 Tecmint Dockerd [5274]: Time = "2019-03-06T08: 06: 42.157145045Z "Niveau = info msg =" Daemon a terminé l'initialisation "mars 06 08:06:42 Tecmint Systemd [1]: Moteur de conteneur d'application Docker démarré. 06 mars 08:06:42 Tecmint Dockerd [5274]: Time = "2019-03-06T08: 06: 42.224229999Z "niveau = info msg =" API écouter sur / var / run / docker.chaussette" 

5. Enfin, vérifiez que Docker CE est installé correctement en exécutant le Bonjour le monde image.

$ sudo docker run hello-world 
Vérifiez l'installation de Docker CE
Bonjour de Docker! Ce message montre que votre installation semble fonctionner correctement. Pour générer ce message, Docker a pris les mesures suivantes: 1. Le client Docker a contacté le démon Docker. 2. Le démon Docker a tiré l'image "Hello-World" du Docker Hub. (AMD64) 3. Le démon Docker a créé un nouveau conteneur à partir de cette image qui exécute l'exécutable qui produit la sortie que vous lisez actuellement. 4. Le démon Docker a diffusé cette sortie au client Docker, qui l'a envoyé à votre terminal. Pour essayer quelque chose de plus ambitieux, vous pouvez exécuter un conteneur Ubuntu avec: $ docker run -it ubuntu bash partager des images, automatiser les workflows, et plus encore avec un Docker ID gratuit: https: // hub.docker.com / Pour plus d'exemples et d'idées, visitez: https: // docs.docker.com / get-started / 

Apprenez les commandes de base Docker dans Ubuntu

6. Pour obtenir des informations sur Docker, Exécutez la commande suivante.

$ sudo docker info Version du noyau: 5.0.0-050000 Générique Système d'exploitation: Ubuntu 18.04.1 LTS OSTYPE: Architecture Linux: X86_64 CPU: 1 Mémoire totale: 1.452GiB Name: tecmint ID: FWSB:IRIF:DYL7:PRB5:Y66E:37MY:ISPO:HZVY:6YJO:2IYL:TO6Y:GNB7 Docker Root Dir: /var/lib/docker Debug Mode (client): false Debug Mode (server ): Faux Registre: https: // index.docker.IO / V1 / Étiquettes: Expérimental: Faux Registres insécurité: 127.0.0.0/8 Restore en direct Activé: Faux Licence de produit: Moteur communautaire 

7. Pour obtenir des informations sur Docker Version, exécutez la commande suivante.

Version Docker $ sudo Client: Version: 18.09.3 Version de l'API: 1.39 GO Version: Go1.dix.8 Git Commit: 774a1f4 Construit: Jeu 28 février 06:53:11 2019 OS / Arch: Linux / AMD64 Expérimental: False Server: Docker Engine - Community Engine: Version: 18.09.3 Version de l'API: 1.39 (version minimale 1.12) GO Version: Go1.dix.8 Git Commit: 774a1f4 Construit: jeu 28 février 05:59:55 2019 OS / Arch: Linux / AMD64 Expérimental: False 

8. Pour obtenir une liste de toutes les commandes Docker disponibles docker sur votre terminal.

$ Docker Utilisation: Docker [Options] Commandez un exécution autosuffisante pour les conteneurs Options: - Configage de chaîne Emplacement des fichiers de configuration du client (par défaut "/ home / tecmint /.docker ") -d, --debug activer le mode debug -h, - host list socket de démon (s) pour se connecter à -l, - chaîne de niveau-logarit définir le niveau de journalisation (" debug "|" info "|" avertir "|" error "|" fatal ") (par défaut" info ") --tls use tls; implicite par --tlsverify --tlscacert string confist les certifications signées uniquement par ce CA (par défaut" / home / tecmint /.docker / ca.pem ") - TlScert String Path vers le fichier de certificat TLS (par défaut" / home / tecmint /.docker / Cert.pem ") - Tlskey String Path vers le fichier de clé TLS (par défaut" / home / tecmint /.docker / clé.pem ") --tlsverify utilisez TLS et vérifiez les informations de version à télécommande -v, —version et quittez les commandes de gestion: le builder gérer les builds config Gérer Docker configs Container Containers Moteur Gérer le moteur docker Image Gérer les images Réseau Gérer les réseaux Nœuds Plugin Gérer les plugins Secret Gérer Docker Secrets Service Gérer les services Stack Gérer les piles Docker Swarm Manage System Gérer Docker Trust Gérer la confiance sur Docker Images Volume Gérer les volumes… 

Télécharger une image docker dans Ubuntu

9. Pour exécuter un conteneur Docker, vous devez d'abord télécharger une image à partir de Docker Hub - fournit des images gratuites de ses référentiels.

Par exemple, pour télécharger une image docker appelée Centos 7, Présenter la commande suivante.

$ sudo docker search centos Nom Description Stars Official Automated Centos La construction officielle de Centos. 5227 [OK] ANSIBLE / CENTOS7-ANSIBLE ANSIBLE SUR CENTOS7 120 [OK] JDEATHE / CENTOS-SSH CENTOS-6 6 6.10 x86_64 / centos-7 7.5.1804 x86… 107 [OK] Consol / CentOS-XFCE-VNC CENTOS Container avec session VNC "sans tête"… 81 [OK] Imagine10255 / CentOS6-LNMP-PHP56 CENTOS6-LNMP-PHP56 50 [OK] CENTOS / MYSQL-57-CENTOS7 Mysql 5.7 SQL Database Server 47 TUTUM / CENTOS Image de Docker CentOS Simple avec SSH Access 43 Gluster / Gluster-CentO I… 39 CentOS / PostgreSQL-96-Centos7 PostgreSQL est une plate-forme avancée d'objet… 37 Centos / Python-35-Centos7 pour construire et exécuter Python 3.5… 33 kinogmt / centos-ssh Centos avec SSH 26 [OK] OpenShift / Jenkins-2-Centos7 A Jenkins V2 basé sur CentOS7.x image à utiliser W… 20 CentOS / PHP-56-Centos7 Platform pour construire et exécuter PHP 5.6 AP… 19 PIVOTALDATA / CENTOS-GPDB-DEV CENTOS Image pour le développement GPDB. Noms de balises… 10 OpenShift / Wildfly-101-Centos7 A CentOS7 Wildfly V10 basé sur CentOS7.1 Image à utiliser… 6 OpenShift / Jenkins-1-Centos7 déprécié: un Jenkins V1 basé sur CentOS7.X IMA… 4 Image de base de base Darksheer / Centos - Mis à jour Horlow 3 [OK] PIVOTALDATA / CENTOS BASE CENTOS, Freadée un peu avec un DO… 2 Pivotaldata / Centos-Mingw en utilisant la chaîne d'outils Mingw pour Cross-Compile T… 2 pivotaldata / centos-gcc-toolchain Centos avec une chaîne d'outils, mais non affilié wi… 1 OpenShift / Wildfly-81-Centos7 a CentOS7 Wildfly V8.1 image à utiliser W… 1 image de base BlackLabelops / Centos Centos! Construit et met à jour quotidiennement! 1 [OK] SmartEntry / Centos Centos avec SmartEntry 0 [OK] Jameseckersall / Sonarr-Centos Sonarr sur Centos 7 0 [OK] 

dix. Après avoir déterminé sur l'image que vous souhaitez exécuter en fonction de vos exigences, téléchargez-la localement en exécutant la commande ci-dessous (dans ce cas Centos L'image est téléchargée et utilisée).

$ docker pull Centos Utilisation de la balise par défaut: Dernier dernier: tirage de la bibliothèque / Centos A02A4930CB5D: Pull Complete Digest: Sha256: 184E5F35598E333BFA7DE10D8FB1CEBB5EEE4DF5BC0F970BF2B1E7C7345136426 Statut: téléchargement DÉPARTE 

11. Pour répertorier toutes les images Docker disponibles sur votre hôte, exécutez la commande suivante.

$ sudo docker images Repository tag ID ID ID créé Taille Hello-World Dernier FCE289E99EB9 il y a 2 mois 1.84KB Centos Dernier 1E1148E4CC2C il y a 3 mois 202 Mo 

12. Si vous ne voulez pas de Docker image plus et vous pouvez le supprimer en utilisant la commande suivante.

$ sudo docker rmi centos Untagged: centos:latest Untagged: [email protected]:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426 Deleted: sha256:1e1148e4cc2c148c6890a18e3b2d2dde41a6745ceb4e5fe94a923d811bf82ddb Deleted: sha256:071d8bd765171080d01682844524be57ac9883e53079b6ac66707e192ea25956 

Exécutez un conteneur Docker dans Ubuntu

13. Afin de créer et d'exécuter un conteneur Docker, vous devez d'abord exécuter une commande dans un téléchargement Centos image, donc une commande de base serait de vérifier le fichier de version de distribution à l'intérieur du conteneur à l'aide de la commande CAT, comme indiqué.

$ docker run Centos Cat / etc / problème 

14. Pour exécuter à nouveau les conteneurs, vous devez d'abord obtenir le ID de conteneur ou nom En exécutant la commande suivante, qui affichera une liste des conteneurs en cours d'exécution et d'arrêt:

$ sudo docker ps -l Commande d'image d'ID de conteneur Image Créé les noms de ports d'état 0DDFA81C5779 Centos "Cat / etc / problème" il y a environ une minute quitté (0) il y a environ une minute Elastic_shirley 

15. Une fois la ID de conteneur ou nom a été acquis, vous pouvez démarrer le conteneur à l'aide de la commande suivante:

$ sudo docker start 0DDFA81C5779 Ou $ sudo docker start Elastic_shirley 

Ici, la chaîne 0DDFA81C5779 représente l'ID de conteneur et Elastic_shirley représente le nom du conteneur.

16. Pour arrêter la course de conteneurs en cours d'exécution Docker Stop commande en spécifiant le ID de conteneur ou nom.

$ sudo docker stop 0DDFA81C5779 Ou $ sudo docker stop Elastic_shirley 

17. Une meilleure façon, afin que vous n'ayez pas à vous rappeler que l'ID de conteneur serait de définir un nom unique pour chaque conteneur que vous créez en utilisant le --nom Option comme indiqué.

$ docker run --name Myname Centos Cat / etc / problème 

18. Afin de connecter et d'exécuter les commandes Linux dans un problème de conteneur la commande suivante.

$ docker run -it Centos bash [[e-mail protégé] /] # uname -a Linux 6213EC547863 5.0.0-050000-Generic # 201903032031 SMP MON 4 MAR 4 01:33:18 UTC 2019 X86_64 X86_64 X86_64 GNU / Linux [[Email Protected] /] # Cat / etc / Redhat-Release Centos Linux Release 7.6.1810 (noyau) 

19. Pour arrêter et revenir pour héberger à partir de la session de conteneur en cours d'exécution, vous devez taper sortie Commande comme indiqué.

$ exit 

C'est tout pour la manipulation de base des conteneurs. Si vous avez des questions ou des commentaires sur cet article, utilisez le formulaire de rétroaction ci-dessous pour nous joindre.