Docker : Contexte et premier pas

On entend souvent le mot "Docker" en informatique surtout dans le système d'information ou dans l'infrastructure. Qu'est ce que Docker ? Vous avez souvent entendu parler de la révolution des machines virtuelles et leurs prouesses comme VirtualBox ou VMWare, pour faire simple Docker permet d'avoir des "Container" qui l'équivalent d'une "Virtual Machine" et de s'affranchir de la partir administration d'utilisateur.


Notion

Avant de débuter, il va falloir avoir quelques petites notions de base.

  • Docker : Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n'importe quel serveur.
  • Docker Engine : est le moteur permettant de traiter tous les artéfacts de Docker
  • Image : est considéré comme une librairie, elle permet notamment d'avoir un Objet non instancié
  • Container : est une instance de l'Image
  • L'étape Run : permet d'instancier le container/image

 

Installation

L'installation est très facile, il suffit d'aller sur le site de Docker et de l'installer, voici le lien : https://www.docker.com/docker-windows.

En lançant Docker, vous verrez l'icone sur la barre des tâches :

voila, vous avez installés Docker... Rien de plus simple...

 

Docker Hub : Repository / Librairie

La force de Docker est d'avoir une grande communauté qui partage et met à disposition leurs images qui se situe sur :

Exemple de librairie utile :

 

Ligne de commande Docker

Comme tout informaticien qui se respecte, la compréhension des lignes de commande est un plus car vous verrez par la suite, que des alternatives IHM existent pour faciliter le quotidien.

Globalement, je vous laisse faire un petit tour sur la documentation de Docker :

https://docs.docker.com/glossary/

Sinon voici les commandes de bases à connaitre :

  • Cette ligne de commande (Pull) permet de récupérer l'image sur le repository Docker.
docker pull NomDeMonImage

#Exemple
docker pull hello-world
  • La ligne de commande (run) permet de récupérer l'image (Pull automatique) et l'instancier le container  sur le repository Docker.
docker run NomDeMonImage

#Exemple
docker run hello-world

#Quelques options du Run (à savoir)
docker run -it MonImage #Avec TTY
docker run --rm MonImage #Supprimer mon image à la fin du run
docker run --p PortLocal:PortDockerImage MonImage # port exposé

#Exemple d'enchainement
docker run -it --rm -p 6080:80 -p 5900:5900 
hello-world
# run : J'instancie mon image
# -it : Je lance en TTY
# --rm : Je supprime l image à la fin
# -p : j'associe mes ports localhost avec la sortie de la VM
  • Cette ligne de commande (ps) permet de récupérer la liste des container
docker ps #Tous les containers en cours d'exécution
docker ps -a #Tous les containers existants

Exemple

Voici un exemple assez rapide, permettant :

  • d'obtenir une VM Ubuntu LXDE
  • le Run-er 
  • Exposer les ports 80 sur le 6080 et le 5900
  • Ajouter un password : mypassword
  • Le supprimer à la fin de l'exécution de la commande (avec un Contrôle +  C)
docker run -it --rm -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=mypassword dorowu/ubuntu-desktop-lxde-vnc

Installation de Kitematic (Optionnel)

L'application Kitematic permet de la gestion facile en IHM (non en ligne de commande) des containers de Docker.

Installation d'une interface Web (Optionnel)

Lorsque vous avez un système Linux/Unix sans Interface IHM, Kinematic ne pourra pas vous aider à affranchir les lignes de commande, voici un repository assez complet et gratuit :

Portainer vous permettra de passer par une page internet pour la gestion de Docker.

https://hub.docker.com/r/portainer/portainer/

 Remerciement

Un très grand merci d'avoir lu mon article assez compacté, cela vous permettra d'avoir de petites idées pour votre prochain serveur maison. 🙂

 

 Liens

Site Officiel : https://docs.docker.com

Qu'est ce que Docker : https://www.docker.com/what-docker

Documentation : https://docs.docker.com/glossary

Store Officiel : https://store.docker.com

Les repositories : https://hub.docker.com

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *