Docker est un projet open source qui fournit une plate-forme ouverte aux développeurs et aux administrateurs système pour créer, empaqueter et exécuter des applications n'importe où sous la forme d'un conteneur léger. Docker automatise le déploiement d'applications dans des conteneurs de logiciels. Le développement de Docker a été lancé par Solomon Hykes en tant que projet interne chez dotCloud, une entreprise PaaS (plate-forme en tant que service), le logiciel est maintenant maintenu par la communauté Docker et Docker Inc. Plus d'informations sur Docker peuvent être trouvées 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 Ubuntu 16.04 ici avec la version 4.4.0 du noyau.
Ce qu'il faut savoir sur Docker
Voici les termes de base du monde docker que vous devez connaître.
Images Docker
Uneimage Docker est le modèle de base pour un conteneur Docker. Une image contient généralement le système d'exploitation et les applications qui s'installent facilement. L'image Docker est utilisée pour exécuter le conteneur, vous pouvez 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
Conteneur Docker est une image qui peut être lue et écrite et qui s'exécute au-dessus de l'image Docker. Docker utilise le système de fichiers union comme backend pour le conteneur, toutes les modifications apportées au conteneur seront enregistrées dans un nouveau calque au-dessus de l'image de base. Le conteneur est la couche dans laquelle nous installons les applications. Chaque conteneur s'exécute isolément sur la machine hôte et fournit donc une plate-forme d'application sécurisée.
Registre Docker
Registre Docker est un référentiel pour les images Docker. Il fournit des référentiels publics et privés. Le registre public Docker s'appelle Docker Hub. Ici, nous pouvons pousser et tirer nos propres images.
Installer Docker sur Ubuntu 16.04
Dans cette section, vous serez guidé pour installer docker. Avant d'installer le logiciel, vérifiez 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écutez cette commande pour devenir root sur votre système Ubuntu.
sudo -s
Ensuite, exécutez uname -a pour vérifier la version du noyau Linux en cours d'exécution :
uname -a
Vous pouvez voir que j'utilise la version 4.4.0 du noyau avec un noyau 64 bits (x86_64).
Pour vérifier la version d'Ubuntu, exécutez :
cat /etc/lsb-release
La commande indique que la version d'Ubuntu est 16.04.
Il est recommandé de mettre à jour Ubuntu avant d'installer un nouveau logiciel. Exécutez la commande suivante pour récupérer les dernières mises à jour du référentiel Ubuntu et les installer.
apt-get update
apt-get upgrade
Installez maintenant docker avec la commande apt :
apt-get install -y docker.io
Attendez que l'installation soit terminée, puis vous pourrez démarrer Docker avec la commande systemctl :
systemctl start docker
Activer Docker pour qu'il s'exécute au démarrage du système :
systemctl enable docker
Vous pouvez également vérifier la version de Docker :
docker version
Docker est maintenant installé sur votre système. Vous pouvez commencer à créer un conteneur en téléchargeant une image Docker à partir du registre Docker.
Utilisation de base de Docker
Dans cette section, je vais vous montrer les options couramment utilisées de la commande docker. Par exemple. comment télécharger une image Docker, créer un conteneur et comment accéder au conteneur.
Pour créer un nouveau conteneur , vous devez commencer par choisir une image de base avec le système d'exploitation, par ex. ubuntu ou centos ou autre. Vous pouvez rechercher une image de base avec la commande docker search :
docker search ubuntu
Cette commande vous montrera toutes les images Ubuntu. Vous pouvez essayer par vous-même docker search centos etc.
Il est maintenant temps de télécharger l'image de base sur notre serveur, utilisez la commande :
docker pull ubuntu
La commande docker pull imagename téléchargera une image sur votre serveur à partir du registre docker/DockerHub.
Vous pouvez maintenant voir toutes les images téléchargées en utilisant la commande :
docker images
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, vous pouvez utiliser docker create ou docker run.
docker create ubuntu:16.04
La commande docker create créera un nouveau conteneur mais ne le démarrera pas. Alors maintenant, vous pouvez utiliser la commande run :
docker run -i -t ubuntu:16.04 /bin/bash
Cette commande créera et exécutera un conteneur basé sur l'image Ubuntu 16.04 et exécutera une commande /bin/bash à l'intérieur du conteneur, vous serez automatiquement à l'intérieur du conteneur après avoir exécuté la commande.
Le conteneur s'arrêtera lorsque vous le quitterez avec la commande exit . Si vous souhaitez qu'un conteneur s'exécute en arrière-plan, il vous suffit d'ajouter l'option -d dans la commande.
docker run -i -t -d ubuntu:16.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
/bin/sh -c "while true; do echo hello world; sleep 1; done" ceci est un script bash pour faire écho "hello word" pour toujours.
Vous pouvez maintenant voir le conteneur s'exécuter en arrière-plan à l'aide de la commande :
docker ps
ou si vous voulez voir les journaux résultant de cette commande bash, vous pouvez utiliser la commande :
docker logs NAMES/ContainerID
Comment puis-je accéder au shell du conteneur qui s'exécute en arrière-plan ? Cette commande vous connectera au shell du conteneur :
docker exec -i -t NAMES/ContainerID /bin/bash
Vous pouvez voir que le nom d'hôte et l'ID du conteneur sont égaux, cela signifie que vous êtes à l'intérieur du shell du conteneur. Lorsque vous tapez "exit" sur ce shell, vous le quittez mais le conteneur est toujours en cours d'exécution.
Une autre commande que vous utiliserez souvent est :
docker stop NAME/ContainerID
Cela arrêtera le conteneur sans le supprimer, vous pourrez donc le redémarrer avec la commande :
docker start NAME/ContainerID
Si vous souhaitez supprimer le conteneur, arrêtez-le d'abord, puis supprimez-le avec la commande :
docker rm NAME/ContainerID
Ceci n'est qu'une brève introduction sur l'installation et l'utilisation de base de Docker sur Ubuntu, vous pouvez 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 plate-forme 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 conteneur virtuel sécurisé. Docker fonctionne sur l'architecture Intel/AMD 64 bits et le noyau devrait être supérieur à la version 3.10. Avec dDocker, vous pouvez créer et exécuter votre application dans un conteneur, puis déplacer vos conteneurs vers d'autres machines exécutant Docker sans aucun souci.