Skip to content

Tutoriel Conteneurs ENVOL 2025

Docker

Auteurs

Assemblé et rédigé par Martin Souchal, d'après les travaux de Fabrice Jammes, David Chamont, Remi Cailletaud.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Tutoriel en trois parties

  • Niveau 1 : Introduction à Docker et docker-compose.
  • Variante 1 : Introduction a Singularity.
  • Niveau 2 : Intégration continue avec Gitlab CI : développement en intégration continue d'une application web Python/Django simple.
  • Niveau 3 : Orchestration de conteneurs avec Rancher et Kubernetes.

Prérequis

Techniques

Tous les ateliers sont prévus pour être joués sous Linux avec une version de Docker récente (> 25).

Note

Il est possible d'utiliser Docker sous MacOs et Windows avec Docker Desktop, il faudra ensuite ouvrir un terminal en bas à droite de l'interface.

Warning

Les pulls d'image en provenance de Docker Hub sont maintenant limitées pour les utilisations anonymes. Pour lever cette limite, vous devez avoir un compte sur Docker Hub. (cf. docker-hub )

Connaissances

  • Niveau 1 : connaître les commandes linux essentielles et le fonctionnement basique d'un OS Linux.
  • Niveau 2 : Niveau 1 et git. Il n'est pas nécessaire de connaître python et django, il faut un compte sur une instance Gitlab.
  • Niveau 3 : Niveau 1, connaissances de bases en réseau/système et kubectl.

Installer docker sous linux

Si vous souhaitez faire une installation "propre", différentes pages sont disponibles selon les saveurs de Linux (soyez attentifs aux exigences) : Installer Docker

Notez que votre noyau linux ne doit pas être trop ancien (commande uname -r) :

  • Ubuntu : 3.11.0-15-generic
  • RHEL : 3.10.0-229.el7.x86_64
  • Fedora : 3.19.5-100.fc21.x86_64
  • Debian : au moins 3.10

Sinon, vous pouvez essayer la commande ci-dessous. Attention : elle demande des privilèges root ou sudo, elle s'exécute automatiquement, sans interaction et sans possibilités de personnalisation.

> curl -fsSL get.docker.com -o get-docker.sh
> sudo sh get-docker.sh

Pour pouvoir utiliser ensuite docker sans sudo, pour un utilisateur "your-user" :

> sudo usermod -aG docker your-user

ATTENTION : il faut se déconnecter et se reconnecter pour que l'ajout de groupe prends effet.

Pour vérifier que votre Docker est opérationnel, tapez docker run hello-world :

> docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

Si vous avez utilisé le script get-docker.sh, pour certaines distributions, il faut lancer vous-même le démon docker, avec la commande systemctl ou service appropriée :

sudo systemctl start docker`

Pour aller plus loin