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 :
- Store Officiel : https://store.docker.com
- Hub Officiel : https://hub.docker.com
Exemple de librairie utile :
- Jira : https://hub.docker.com/r/cptactionhank/atlassian-jira/
- Mantis : https://hub.docker.com/r/pennsignals/mantis/
- Alfresco : https://hub.docker.com/r/itherz/alfresco/
- Jenkins : https://hub.docker.com/_/jenkins/
- Ubuntu avec NoVNC : https://hub.docker.com/r/consol/ubuntu-xfce-vnc/
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.
- La ligne de commande (run) permet de récupérer l'image (Pull automatique) et l'instancier le container sur le repository Docker.
- Cette ligne de commande (ps) permet de récupérer la liste des container
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)
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