Comment installer et utiliser Docker sur Ubuntu

Comment installer et utiliser Docker sur Ubuntu

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:

$ sudo apt-get updat

2. Installez les packages suivants:

$ sudo apt-get install \
apt-transport-https \
ca-certificats \
curl \
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 \
$ (lsb_release -cs) \
écurie"

«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:

$ sudo apt-get updat

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:

$ Docker

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:

$ docker run hello-world

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
Bonjour de Docker!
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:

$ docker search nginx

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:

$ docker pull nginx

Vous pouvez afficher toutes les images de votre référentiel local avec la commande suivante

$ images docker

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:

$ docker run -it ubuntu

L'option -it indique la commande Run pour exécuter un shell interactif. Vous verrez une invite de commande comme ceci:

root @ 6370a8b73050: / #

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):

$ docker ps
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
$ docker ps -a
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:

$ images docker
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 Login -u Zakh
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 /