Introduction du cours pour apprendre la technologie Docker

Ce cours complet pour débutants sur la technologie Docker vous expliquera pas à pas les différentes notions de Docker.

Histoire

Hello world, aujourd'hui je vais vous présenter l'une de mes technologies préférées, à savoir Docker.

Docker est une plateforme lancé en mars 2013 permettant aux développeurs et aux administrateurs système de développer, déployer et exécuter des applications avec des conteneurs, plus précisément la plateforme permet d'embarquer une application avec toutes ses dépendances dans un process isolé (nommé conteneur) qui peut être ensuite exécutée sur n'importe quelle machine avec n'importe quel système d'exploitation compatible avec le moteur Docker. (plus d'explications seront fournies dans un chapitre dédié aux conteneurs).

Avant de commencer, il faut savoir que le terme Docker signifie à la fois une technologie et à la fois une entreprise, ce qui pourrait parfois porter à confusion.

Docker a été fondée en France (cocorico 🐓🇫🇷), par un diplômé de l'école d'Epitech nommé Solomon Hykes. Par manque d'investissement en France, l'entreprise a souhaité évoluer dans la Silicon Valley, où elle a pu enchaîner des levées de fonds spectaculaires, illustrant ainsi le potentiel attendu de cette technologie.

Son rythme d’adoption serait l’un des plus rapide de toutes les technologies récentes, elle est déjà largement répandue chez les acteurs leaders des nouvelles technologies.

Après dix ans chez Docker, le fondateur et CTO de Docker Solomon Hykes, a annoncé son départ de l'entreprise le 28 mars 2018. Il reste tout de même membre du conseil d’administration et l'actionnaire principal.

Déclaration du fondateur de Docker concernant son départ

« Aujourd'hui, j'annonce mon départ de Docker, la société que j'ai aidé à créer il y a dix ans et que je construis depuis ».

Public visé

Ce tutoriel est conçu pour les débutants ayant besoin de comprendre la technologie Docker à partir de zéro. Ce tutoriel vous donnera une compréhension suffisante de la technologie, qui vous permettra plus tard d’atteindre des niveaux d’expertise beaucoup plus élevés.

Prérequis

Avant de poursuivre ce cours, vous devez au minimum avoir une compréhension de base sur les commandes Linux. Si vous maîtrisez Linux et la virtualisation, il vous sera très facile de comprendre les concepts de Docker et d’avancer rapidement sur la piste d’apprentissage, mais ce n'est pas non plus indispensable.

Êtes-vous prêt pour de nouvelles découvertes ? alors c'est parti !

Espace commentaire

Écrire un commentaire

Rejoignez la discussion

Vous devez être connecté pour poster un message.

32 commentaires

ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

N'oubliez pas de redémarrer le daemon après modification du fichier daemon.json avec systemctl restart docker pour prendre en compte les changements.

07/06/2019 à 06:14
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

C'est probablement des conteneurs/images orphelins qui bouffent tout. Nettoie tout ça :

docker system prune -a

06/06/2019 à 23:08
laurent-munoz
Membre Actif
Avatar de laurent-munoz
laurent-munoz
Membre Actif

J'ai une erreur au build : no space left on device. Pourtant mon disque est vide.

06/06/2019 à 17:40
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

La commande de base c'est docker ps. Ajoute -a pour voir ceux qui sont arrêtés.

06/06/2019 à 13:22
marianne98
Membre Actif
Avatar de marianne98
marianne98
Membre Actif

Comment on liste les conteneurs qui tournent ?

06/06/2019 à 05:29
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Oui, utilise le flag --memory au lancement. Ne jamais laisser un conteneur consommer toute la RAM de la prod.

06/06/2019 à 01:16
mlefebvre
Membre Actif
Avatar de mlefebvre
mlefebvre
Membre Actif

Est-ce que je peux limiter la RAM consommée par un conteneur ?

05/06/2019 à 18:14
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Regarde ton /etc/docker/daemon.json. Tu peux forcer les DNS ici :

{
  "dns": ["8.8.8.8", "8.8.4.4"]
}
05/06/2019 à 10:52
guy14
Membre Actif
Avatar de guy14
guy14
Membre Actif

J'ai un souci de DNS dans mes conteneurs. Ils ne résolvent rien à l'extérieur.

05/06/2019 à 06:01
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Utilise overlay2, c'est le standard actuel. Vérifie avec docker info | grep Storage.

04/06/2019 à 22:51
dasilva-nicole
Membre Actif
Avatar de dasilva-nicole
dasilva-nicole
Membre Actif

Ça marche nickel sur Ubuntu 22.04. J'ai juste eu un warning sur le storage driver.

04/06/2019 à 14:51
patricia57
Membre Actif
Avatar de patricia57
patricia57
Membre Actif

Merci pour l'historique sur Solomon Hykes, ça donne du contexte. Par contre, comment on vérifie la version installée ?

04/06/2019 à 07:55
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Vérifie les droits chmod de ton répertoire de build. Le daemon doit pouvoir lire tes fichiers.

04/06/2019 à 01:21
jacquet-aurelie
Membre Actif
Avatar de jacquet-aurelie
jacquet-aurelie
Membre Actif

Impossible de build mon premier Dockerfile. Il me dit permission denied sur le fichier local.

03/06/2019 à 21:01
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

Docker utilise le HTTPS (port 443) pour contacter le Hub. Vérifie tes règles sortantes.

03/06/2019 à 14:25
anastasie70
Membre Actif
Avatar de anastasie70
anastasie70
Membre Actif

J'ai essayé de pull une image mais mon firewall bloque tout. Quel port est utilisé ?

03/06/2019 à 09:29
guerriernumerique
Membre Rédacteur
Avatar de guerriernumerique
guerriernumerique
Membre Rédacteur

Je vais essayer de me former au DevOps en esperant que ce sera un domaine qui me plait ;)

03/06/2019 à 06:26
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

La VM virtualise le hardware, Docker partage le kernel de l'hôte. C'est beaucoup plus léger.

03/06/2019 à 03:24
thibaut62
Membre Actif
Avatar de thibaut62
thibaut62
Membre Actif

C'est quoi la différence concrète avec une VM classique ? L'article reste un peu flou là-dessus.

02/06/2019 à 21:58
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

@Clotaire-GOUALA, vous pouvez désormais convertir chaque article en pdf.

02/06/2019 à 18:55
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

T'as bien fait un newgrp docker après avoir ajouté ton utilisateur au groupe ?

02/06/2019 à 14:41
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

@Clotaire-GOUALA De rien, pour le moment le cours est juste en HTML, je note votre idée et je verrai plus tard pour la coder ;)

02/06/2019 à 11:47

Merci beaucoup pour ce cours complet.

Est-il possible de l'avoir en PDF ?

Merci d'avance

02/06/2019 à 09:55
chevallier-jean
Membre Actif
Avatar de chevallier-jean
chevallier-jean
Membre Actif

J'ai une erreur Cannot connect to the Docker daemon. Le service est pourtant actif.

02/06/2019 à 07:57
ajdaini-hatim
Auteur Rédacteur Secouriste Actif
Avatar de ajdaini-hatim
ajdaini-hatim
Auteur Rédacteur Secouriste Actif

@Patrice92, derien !

02/06/2019 à 04:17

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire