Docker : Installation et utilisation de base sur Ubuntu 18.04 LTS

Docker est un projet open-source qui fournit une plateforme ouverte aux développeurs et aux sysadmins pour construire, empaqueter et exécuter des applications n’importe où sous forme de conteneur léger. Docker automatise le déploiement d’applications à l’intérieur de conteneurs logiciels. Le développement de Docker a été lancé par Solomon Hykes en tant que projet interne à dotCloud, une entreprise PaaS (platform as a service), mais le logiciel est maintenant maintenu par la communauté Docker et Docker Inc. Tu trouveras plus d’informations sur Docker dans la documentation ici https://docs.docker.com/.

Docker nécessite une architecture 64 bits pour l’installation et le noyau Linux doit être 3.10 ou plus récent. J’utiliserai ici Ubuntu 18.04 LTS (Bionic Beaver) avec un noyau version 4.15.0.

Ce qu’il faut savoir sur Docker

Voici les termes de base du monde de Docker que tu dois connaître.

Images Docker

Une image Docker est le modèle de base d’un conteneur Docker. Une image contient généralement le système d’exploitation et les applications qui sont déjà installés. L’image Docker est utilisée pour exécuter le conteneur, tu peux trouver de nombreuses images avec une variété de systèmes d’exploitation et de logiciels qui ont été installés dans le Docker Hub https://hub.docker.com/.

Conteneur Docker

Le conteneur Docker est une image qui peut être lue et écrite et qui s’exécute par-dessus l’image Docker. Docker utilise le système de fichiers d’union comme backend pour le conteneur ; toute modification apportée au conteneur sera enregistrée dans une nouvelle couche au-dessus de l’image de base. Le conteneur est la couche où nous installons les applications. Chaque conteneur s’exécute de manière isolée dans la machine hôte et fournit donc une plateforme d’applications sécurisée.

Registre Docker

Le registre Docker est un référentiel pour les images Docker. Il fournit des référentiels publics et privés. Le registre Docker public s’appelle le Docker Hub. Ici, nous pouvons pousser et tirer nos propres images.

Installation de Docker sur Ubuntu 18.04

Dans cette section, tu seras guidé pour installer Docker. Avant d’installer le logiciel, vérifie la version du noyau et l’architecture du système d’exploitation. Les commandes suivantes doivent être exécutées en tant qu’utilisateur root. Exécute cette commande pour devenir root sur ton système Ubuntu.

sudo su

Ensuite, exécute uname -a pour vérifier la version du noyau Linux en cours d’exécution.

uname -a

Vérifie la version du noyau d'Ubuntu

Tu peux voir que j`utilise le noyau version 4.15.0 avec un noyau 64Bit (x86_64).

Pour vérifier la version Ubuntu, exécute :

cat /etc/lsb-release

Vérifier la version actuelle d'Ubuntu

La commande montre que la version d’Ubuntu est 18.04.

Il est recommandé de mettre à jour Ubuntu avant d’installer un nouveau logiciel. Exécute la commande suivante pour récupérer les dernières mises à jour du référentiel Ubuntu et les installer.

sudo apt-get update
sudo apt-get upgrade

Nous sommes maintenant prêts à installer Docker sur le serveur.

Pour installer Docker, nous pouvons utiliser les paquets du ‘Dépôt Ubuntu’ ou utiliser les paquets du ‘Dépôt Docker’.

Installer Docker à partir du référentiel Ubuntu

Si tu veux installer la version de Docker depuis le dépôt Ubuntu, tu peux exécuter la commande apt ci-dessous.

sudo apt install docker.io

Attends que l’installation soit terminée, puis tu peux démarrer Docker et l’ajouter au démarrage avec la commande systemctl :

systemctl start docker
systemctl enable docker

Tu peux aussi vérifier la version de docker :

docker --version

Démarrer docker

Et tu obtiendras le docker 17.12 installé à partir du Dépôt Ubuntu.

Installer Docker à partir du Dépôt Docker

Avant d’installer le docker-ce à partir du dépôt Docker, installe certaines dépendances à l’aide de la commande apt comme indiqué ci-dessous.

sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

Lorsque l’installation est terminée, ajoute la clé docker et le référentiel docker ‘nightly’.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic nightly" > /etc/apt/sources.list.d/docker-nightly.list

et mets à jour le référentiel.

sudo apt update

Maintenant, le référentiel docker a été ajouté au système.

Vérifie tous les paquets docker fournis par le dépôt docker à l’aide de la commande apt-cache.

sudo apt search docker-ce
sudo apt-cache policy docker-ce

Et tu verras différentes versions de docker comme ci-dessous.

Installer Docker sur Ubuntu

Installe-le à l’aide de la commande apt ci-dessous.

sudo apt install docker-ce

Lorsque l’installation est terminée, démarre le service docker et active-le pour qu’il se lance chaque fois au démarrage du système.

systemctl start docker
systemctl enable docker

Vérifie maintenant la version de docker installée sur le système.

docker --version

Et tu obtiendras le docker 18.x installé sur le système. Tu peux maintenant commencer à créer un conteneur en téléchargeant une image Docker depuis le registre Docker.

Lance la version de docker installée

Exécuter Docker en tant qu’utilisateur non root

Afin d’exécuter Docker en tant qu’utilisateur normal/non-root, nous devons ajouter un nouvel utilisateur système. Nous allons ajouter un nouvel utilisateur nommé ‘hakase’, puis l’ajouter au groupe ‘docker’.

Ajoute l’utilisateur ‘hakase’.

useradd -m -s /bin/bash hakase
passwd hakase

Ajoute l’utilisateur ‘hakase’ au groupe ‘docker’.

usermod -aG docker hakase

Maintenant, connecte-toi en tant qu’utilisateur ‘hakase’ et exécute la commande docker.

su - hakase
docker run hello-world

Et tu obtiendras le hello world de docker.

Run docker container

Utilisation de base de Docker

Dans cette section, je vais te montrer les options couramment utilisées de la commande docker. Par exemple, comment télécharger une image docker, construire un conteneur et comment accéder au conteneur.

Pour créer un nouveau conteneur, tu dois commencer par choisir une image de base avec le système d’exploitation, par exemple ubuntu ou centos ou autre. Tu peux rechercher une image de base avec la commande docker search :

docker search ubuntu

Cette commande t’indiquera toutes les images ubuntu. Tu peux essayer par toi-même docker search centos etc.

Recherche d'une image docker

Il est maintenant temps de télécharger l’image de base sur notre serveur, utilise la commande :

docker pull ubuntu

La commande docker pull image-name téléchargera une image sur ton serveur depuis le registre docker/DockerHub.

Tire l'image docker

Tu peux maintenant voir toutes les images téléchargées en utilisant la commande :

docker images

Lister les images docker

L’image Ubuntu a été téléchargée depuis DockerHub/Docker Registry. L’étape suivante consiste à créer un conteneur à partir de cette image.

Pour créer le conteneur, tu peux utiliser docker create ou docker run.

docker create ubuntu:18.04

Crée un conteneur docker

La commande docker create créera un nouveau conteneur mais ne le démarrera pas. Tu peux donc maintenant utiliser la commande run :

docker run -i -t ubuntu:18.04 /bin/bash

Cette commande créera et exécutera un conteneur basé sur l’image ubuntu 18.04 et exécutera une commande /bin/bash à l’intérieur du conteneur, tu seras automatiquement à l’intérieur du conteneur après avoir exécuté la commande.

Run docker container

Le conteneur s’arrêtera lorsque tu le quitteras avec la commande exit. Si tu veux avoir un conteneur qui fonctionne en arrière-plan, il te suffit d’ajouter l’option -d dans la commande.

docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

Remarque :

/bin/sh -c « while true ; do echo hello world ; sleep 1 ; done » c’est un script bash qui permet de faire écho à « hello world » pour toujours.

Le conteneur Docker s'est exécuté avec succès

Tu peux maintenant voir le conteneur qui fonctionne en arrière-plan en utilisant la commande suivante :

docker ps

ou si tu veux voir le résultat des logs de cette commande bash, tu peux utiliser la commande :

docker logs NAMES/ContainerID

Comment puis-je accéder au shell du conteneur qui fonctionne en arrière-plan ?

Cette commande te connectera au shell du conteneur :

docker exec -i -t NAMES/ContainerID /bin/bash

Entre dans un conteneur Docker en cours d’exécution.

Tu peux voir que le nom d’hôte et l’ID du conteneur sont égaux, cela signifie que tu es à l’intérieur du shell du conteneur. Lorsque tu tapes `exit` sur ce shell, tu quitteras ce shell mais le conteneur est toujours en cours d’exécution.

Une autre commande que tu utiliseras souvent est :

docker stop NAME/ContainerID

Cela arrêtera le conteneur sans le supprimer, tu pourras donc le redémarrer avec la commande :

docker start NAME/ContainerID

Si tu veux supprimer le conteneur, arrête-le d’abord et supprime-le ensuite avec la commande :

docker rm NAME/ContainerID

Ceci n’est qu’une courte introduction sur l’installation et l’utilisation de base de Docker sur Ubuntu, tu peux trouver la page de documentation détaillée de Docker ici.

Une introduction approfondie à Docker est disponible dans cette série de tutoriels Howtoforge : https://www.howtoforge.com/tutorial/how-to-use-docker-introduction/.

Conclusion

Docker est une plateforme de virtualisation de conteneurs open source qui aide les développeurs à déployer leurs applications et les administrateurs système à gérer les applications dans un environnement de conteneurs virtuels sûr. Docker fonctionne sur l’architecture Intel / AMD 64 bits et le noyau doit être supérieur à la version 3.10. Avec Docker, tu peux construire et exécuter ton application à l’intérieur d’un conteneur, puis déplacer tes conteneurs vers d’autres machines exécutant Docker sans aucun souci.

Vous aimerez aussi...