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 desimages
, desconteneurs
, desréseaux
et desvolumes
.
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:
- Ajoutez votre utilisateur au groupe docker :
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
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
- Update Ubtuntu
- Installer Docker
- Vérifier l'installation
- 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
- Test
- 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
- Vérifier l'installation
- 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
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.
- Install hyperkit and 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 :
- Install Docker CLI
- Start minikube
suivant votre driver de virtualisation :
puis
- Tell Docker CLI to talk to minikube's VM
Save IP to a hostname
Test
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.