Skip to content

Getting Start

Installer le moteur Docker

Vous pouvez passer cette étape si vous avez déjà installé Docker.

Warning

À partir de 2022, Docker Desktop nécessite désormais un abonnement payant pour une utilisation commerciale dans les grandes entreprises.

  • Docker Desktop est un utilitaire pratique qui inclut le Docker Engine, ainsi qu'une interface utilisateur graphique.
  • Le Docker Engine est la technologie de base derrière Docker. Il s'agit d'un logiciel open source qui fonctionne sous Linux en tant que service qui permet d'exécuter des conteneurs au-dessus du noyau Linux. Il est responsable du cycle de vie des conteneurs et de l'isolation des ressources physiques (calcul, mémoire, stockage) auxquelles les conteneurs peuvent accéder. Le moteur peut s'exécuter sur une machine physique ou virtuelle, mais il ne peut fonctionner que sur un noyau Linux, c'est-à-dire sur un système d'exploitation basé sur Linux. Il est important de comprendre que le moteur Docker ne s'exécute que sous Linux.
  • Le Docker CLI est un outil en ligne de commande gratuit (CLI) pour créer et gérer des objets Docker, tels que des images, des conteneurs, des réseaux et des volumes.

Voici les alternatives à Docker Desktop

Sur Linux

Sur Linux c'est très simple il suffit d'installer docker. Nous allons utiliser ici le script clef en main d'installation :

  • Installez le Docker Engine pour Linux documentation officielle:
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    
  • Ajoutez votre utilisateur au groupe docker :
    sudo usermod -aG docker $USER
    

Warning

En tant qu'utilisateur Linux, vous pouvez utiliser uniquement le Moteur Docker, même si la documentation officielle encourage l'adoption de Docker Desktop pour Linux.

Sur Windows

Nous allons utiliser Windows Linux Subsystem

Tout d'abord, il faut vérifier que la fonctionnalité est bien activée sur Windows. Depuis la barre de recherche Windows, ouvrez Activer ou désactiver une fonctionnalité Windows et cochez Sous-sytème Windows pour Linux et plateforme de machine virtuelle.

Puis installez les deux applications du Microsoft Store

alt text

Maintenant, ouvrez l'application Ubuntu précédemment installée. Il va vous être demandé de configurer un user et un mot de passe.

Enfin, nous allons installer docker

  1. Update Ubtuntu
sudo apt update
  1. Installer Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
  1. Vérifier l'installation
docker -v
  1. Using docker without root permissions

A cette étape, docker a besoin des permissions root pour fonctionner : docker run registry.takima.io/school/proxy/hello-world, va renvoyer une erreur de permissions. Pour pallier à cela executez les commandes suivantes

sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
sudo chown root:docker /var/run/docker.sock
sudo chmod g+w /var/run/docker.sock
  1. Test
docker run registry.takima.io/school/proxy/hello-world
  1. Installer Docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. Vérifier l'installation
docker-compose -v
  1. Troubleshooting

Si en utilisant docker-compose vous avez cette erreur : Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Lancez le service docker

sudo service docker start

Sur MacOs

Installer Docker Engine sur macOS sans utiliser Docker Desktop peut être plus complexe. Pour ce faire nous allons utiliser Minikube qui embarque égallement une implémentation du daemon Docker qui nous permettra de lancer des conteneurs. En plus, c'est parfait, car vous serez prêt à vous exercer a Kubernetes, mais c'est une autre histoire.

Note

Avant de commencer, assurez-vous que vous avez installé Homebrew sur votre système macOS. Si ce n'est pas le cas, vous pouvez l'installer en exécutant la commande suivante dans votre terminal : bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Étapes pour installer Docker sur macOS sans Docker Desktop :

Pour cela on utioisera une approche Docker Machine c'est à dire lancer une VM pour faire tourner docker engine.

  1. Install hyperkit and minikube
brew install hyperkit
brew install minikube

Attention pour les puces M1 darwin/arm64, il y a incompatibilité avec les driver de virtualisation hyperkit ou virtualbox. Un drivers compatible est QEMU :

brew install qemu
  1. Install Docker CLI
brew install docker
brew install docker-compose
  1. Start minikube

suivant votre driver de virtualisation :

minikube config set driver qemu

puis

minikube start
  1. Tell Docker CLI to talk to minikube's VM
eval $(minikube docker-env)

Save IP to a hostname

echo "`minikube ip` docker.local" | sudo tee -a /etc/hosts > /dev/null

Test

docker run hello-world

Cela devrait vous permettre d'utiliser Docker Engine sur macOS sans Docker Desktop.

Note

Minikube exécute une configuration Kubernetes et, par conséquent, exécute de nombreux conteneurs qui ne sont pas nécessaires si l'on n'utilise pas Kubernetes. Nous pouvons exécuter la commande minikube pause pour mettre en pause les conteneurs liés à Kubernetes afin qu'ils ne consomment pas de ressources système inutilement.