Au cours des dernières années, Docker a gagné en popularité en tant qu'application de conteneurisation. Les conteneurs offrent les avantages des machines virtuelles sans les frais généraux associés.
Une machine virtuelle permet aux utilisateurs de démarrer un système d'exploitation autonome au-dessus d'une autre machine. Cela signifie que les utilisateurs peuvent exécuter une autre machine Linux ou Windows au-dessus de leur système d'exploitation actuel. Cependant, c'est un processus à forte intensité de ressources.
Chaque machine virtuelle démarre son propre noyau OS, binaires, bibliothèques et applications au-dessus de la machine hôte. Les conteneurs résolvent ce problème en partageant le noyau de la machine hôte. Il se sépare au niveau de l'application uniquement. Les binaires et les bibliothèques sont séparés uniquement si nécessaire. En conséquence, les conteneurs ont des temps d'exécution plus rapides et des empreintes plus petites. Docker est actuellement la technologie de conteneurs la plus populaire.
Installation sur Ubuntu
Prérequis
Docker a une version communautaire gratuite appelée Docker CE et une version d'entreprise payante appelée Docker EE. Dans cet article, nous nous concentrerons sur la version communautaire.
Docker CE nécessite une version 64 bits d'Ubuntu dans l'une des saveurs suivantes:
- Zesty 17.04
- Xenial 16.04 (LTS)
- Fidèle 14.04 (LTS)
Vous pouvez exécuter une grande partie des commandes en tant qu'utilisateur non root. Cependant, vous aurez besoin d'un accès root (sudo) pour certaines des commandes.
Installation de Docker
Il existe plusieurs façons d'installer Docker. Dans ce tutoriel, nous configurerons le référentiel Docker et installerons Docker CE du référentiel. De plus, nous supposons que vous avez une machine propre sans aucune versions précédentes de Docker. Si vous avez une version précédente de Docker, veuillez désinstaller la version avant de commencer.
Configuration du référentiel
1. Mettez à jour votre package APT pour vous assurer que votre système d'exploitation est à jour:
2. Installez les packages suivants:
Software-Properties-Common |
3. Ajouter la clé GPG officielle
$ curl -fssl https: // télécharger.docker.com / linux / ubuntu / gpg | sudo apt-key ajouter - |
Vérifiez l'empreinte clé à 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88. Vous pouvez utiliser la commande suivante:
$ sudo apt-clé empreinte digitale 0ebfcd88 |
pub 4096r / 0ebfcd88 2017-02-22 |
Empreinte digitale clé = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 |
Libération UID Docker (CE Deb) |
Sub 4096R / F273FCD8 2017-02-22 |
4. Configurez un référentiel stable en utilisant les éléments suivants:
$ sudo add-att-repository \ |
"Deb [arch = amd64] https: // télécharger.docker.com / linux / ubuntu \ |
«L'arc» définit l'architecture. Pour x86_64, utilisez «Arch = AMD64», pour ARMHF, utilisez «Arch = Armhf» et pour S390X, utilisez «Arch = x390x».
Configuration de Docker CE
1. Mettez à jour vos packages APT:
2. Installez le dernier Docker CE:
$ sudo apt-get install -y docker-c |
3. La commande ci-dessus doit installer Docker et démarrer le démon. Vérifiez si le démon fonctionne en utilisant la commande suivante:
$ sudo systemctl status docker
Le résultat devrait ressembler ci-dessous. Le statut «actif (fonctionnement)» signifie que tout va bien.
● Docker.Service - moteur de conteneur d'application Docker |
Chargé: chargé (/ lib / systemd / système / docker.service; activé; Vendor Preset: Activé) |
Actif: Actif (Running) depuis Sun 2017-08-30 06:53:52 PDT; il y a 2 heures |
Docs: https: // docs.docker.com |
PID principal: 827 (Docker) |
Utilisation de Docker
Pour utiliser Docker, vous devez comprendre 3 concepts:
-
- Docker Hub: Docker Hub est le référentiel basé sur le cloud où vous stockez toutes les images publiques Docker. Vous pouvez créer une connexion sur Docker Hub ici: https: // hub.docker.com /
- Images Docker: les images Docker sont les impressions bleues de différents conteneurs. C'est un instantané du conteneur.
- Conteneur Docker: exécution d'une image docker, vous obtenez un conteneur. Le conteneur est la machine de travail que vous utiliserez pour vos tâches.
Commençons à utiliser Docker.
Commandes Docker
Vous pouvez afficher toutes les commandes Docker avec ce qui suit:
Vous pouvez trouver toutes les commandes Docker ici.
Si vous souhaitez découvrir une commande spécifique, vous pouvez utiliser:
$ docker cible-command -Help
où la «commande cible» est la commande que vous souhaitez enquêter.
Téléchargement des images Docker
Les images docker sont téléchargées à partir de Docker Hub. Vous n'avez pas besoin de vous connecter pour télécharger et utiliser des images, mais vous avez besoin d'une connexion pour télécharger des images.
Téléchargez votre première image Docker en utilisant la commande suivante:
La sortie doit ressembler à ceci:
Impossible de trouver l'image 'Hello-World: Dernited' Locally |
Dernier: tirer de la bibliothèque / Hello-World |
B04784FBA78D: Pull complet |
Digest: Sha256: F3B3B28A45160805BB16542C9531888519430E9E6D6FFC09D72261B0D26FF74F |
Statut: Image plus récente téléchargée pour Hello-World: Dernière |
Ce message montre que votre installation semble fonctionner correctement. |
Dans les lignes ci-dessus, Docker a d'abord recherché l'image «Hello-World» dans votre référentiel local. Quand il était «incapable de trouver l'image», il l'a tiré du Docker Hub. Ensuite, il a exécuté le conteneur Hello-World.
La commande suivante vous montrera des images disponibles sur Docker Hub:
Nous recherchions des images liées à «Nginx». La sortie partielle ressemble à ceci:
Nom Description Stars Official Automated |
Nginx Build officiel de Nginx. 6737 [OK] |
Jwilder / nginx-proxy proxy inversé Nginx automatisé pour docker c… 1099 [ok] |
Contasseur Richarvey / Nginx-Php-FPM exécutant nginx + php-fpm capable… 429 [OK] |
Alternativement, vous pouvez aller sur https: // hub.docker.com / et rechercher des images. «Official» indique les versions qui ont été vérifiées par l'équipe Docker.
Vous pouvez également utiliser la commande «Pull» pour télécharger des images:
Vous pouvez afficher toutes les images de votre référentiel local avec la commande suivante
La sortie doit ressembler à ceci:
Taille de la balise du référentiel |
Ubuntu Dernier CCC7A11D65B1 il y a 3 semaines 120 Mo |
Nginx Dernier B8EFB18F159B il y a 5 semaines 107 Mo |
Hello-World Dernier 1815C82652C0 il y a 2 mois 1.84KB |
Avec les images de votre référentiel local, vous pouvez démarrer un conteneur. Par exemple, vous pouvez démarrer votre conteneur Nginx à partir du référentiel ci-dessus.
Conteneurs en cours d'exécution
Supposons que nous voulons créer un conteneur Ubuntu à partir de l'image Ubuntu disponible. Vous pouvez utiliser la commande suivante:
L'option -it indique la commande Run pour exécuter un shell interactif. Vous verrez une invite de commande comme ceci:
Cela signifie que vous êtes connecté en tant qu'utilisateur root dans le conteneur avec l'ID 6370A8B73050. Vous pouvez installer tout ce que vous voulez dans ce conteneur. Supposons que vous souhaitiez installer Python.
Vous pouvez utiliser les commandes:
root @ 6370a8b73050: / # APT-get mise à jour |
Et
root @ 6370a8b73050: / # apt-get install -y python3.5 |
Une fois les installations réussies, vous avez un conteneur Ubuntu prêt pour le python.
Vous pouvez toujours vérifier l'état du conteneur à partir de la ligne de commande de votre hôte ($ signifie invite hôte et root @ 6370A8B73050 Invite de conteneur):
Commande d'image d'ID de conteneur Image Créé les noms de ports d'état |
6370A8B73050 Ubuntu "/ bin / bash" il y a 13 minutes en haut de 12 minutes Cranky_bassi |
Commande d'image d'ID de conteneur Image Créé les noms de ports d'état |
6370A8B73050 Ubuntu "/ bin / bash" il y a 13 minutes en hausse 13 minutes Cranky_bassi |
6A16D462DD28 Ubuntu "/ bin / bash" il y a 16 minutes sort |
889d3a9328f2 nginx "nginx -g 'démon…" il y a 18 minutes sortant (0) il y a 17 minutes hardcore_ritchie |
Dans la sortie ci-dessus, la commande PS affiche uniquement le conteneur en cours d'exécution tandis que la commande PS avec l'option «-a» affiche tous les conteneurs.
Enregistrer les conteneurs en tant qu'images
Supposons que vous souhaitiez enregistrer votre conteneur Python en tant qu'image pour le réutiliser plus tard.
Sortez d'abord le conteneur:
root @ 6370a8b73050: / # exit |
Vous pouvez enregistrer le conteneur dans votre référentiel local à l'aide de la commande suivante:
$ docker commit -m «Description des modifications» -Un «Nom de l'auteur» Répositoire de contenerid / ImageName
Le référentiel est généralement votre nom d'utilisateur de Docker Hub. Afin que vous puissiez enregistrer votre conteneur Python comme ceci:
$ docker commit -m "python3.5 conteneur "-a" zak h "6370a8b73050 zakh / python3.5 prêt |
Si vous vérifiez vos images, vous aurez une image Python dans votre référentiel:
Taille de la balise du référentiel |
Zakh / Python3.5 derniers derniers 6DDF31466A89 Il y a 2 minutes 196 Mo |
Ubuntu Dernier CCC7A11D65B1 il y a 3 semaines 120 Mo |
Nginx Dernier B8EFB18F159B il y a 5 semaines 107 Mo |
Hello-World Dernier 1815C82652C0 il y a 2 mois 1.84KB |
Vous pouvez pousser cette image vers le centre Docker en utilisant les commandes suivantes:
Nom d'utilisateur Docker Login -U
docker push username / imagename
Dans le cas ci-dessus, ce sera:
docker push zakh / python3.5 prêt |
Une fois que vous avez poussé le conteneur vers le hub docker, d'autres peuvent télécharger l'image sur leurs ordinateurs et utiliser le python3.5 Environnement que vous configurez.
Nettoyer
La commande suivante supprimera les conteneurs:
docker rm contenerid
La commande suivante supprimera les images de votre référentiel local:
docker rmi imageid
Derniers mots
Le guide ci-dessus vous donne un processus étape par étape pour utiliser Docker pour simplifier votre développement. Vous pouvez créer vos configurations personnelles, les enregistrer en tant qu'images et la partager avec d'autres utilisateurs ou réutiliser les images vous-même. Il accélère l'ensemble du processus de développement.
Sujets avancés
- Vous pouvez utiliser dockerfile pour construire des images à partir de fichiers yaml écrits.
- Docker Swarm peut vous aider à orchestrer et à gérer un grand nombre de nœuds Docker.
Les références:
- https: // docs.docker.com / moteur / installation / linux / docker-c / ubuntu /
- https: // www.DigitalOcean.com / communautaire / tutoriels / comment-installer-and-use-docker-on-ubuntu-16-04
- https: // docker-cabulum.com /
- https: // www.DigitalOcean.com / communautaire / tutoriels / the-docker-ecosystem-an-introduction aux composants communs
- https: // www.Airpair.com / docker / poteaux / 8-prouvail-réel-monnaie à usage
- http: // www.zdnet.com / Article / What-is-docker-and-why-is-it-so-darn-popular /
- https: // docs.docker.com / Enterprise /
- https: // docs.docker.com / moteur / essaim
- https: // docs.docker.com / moteur / référence / constructeur /
- https: // docs.docker.com / moteur / référence / Commandline / docker /