Retour au blog
Docker et Laravel Sail avec Linux

Docker et Laravel Sail avec Linux

Sommaire

  1. Introduction
  2. Installation de Docker 🐳
  3. Permissions non-root pour Docker 🔓
  4. Installer une application avec Laravel Sail 🚢
  5. Conclusion

Introduction

Docker est comme un mini-ordinateur dans votre machine. Il élimine le besoin d’installer des environnements spécifiques comme PHP.X ou Node.X, car chaque application a son propre espace avec son environnement.

Il est indépendant de votre vrai ordinateur, permettant de développer des milliers d’applications sans installer de dépendances.

Installation de Docker 🐳

Les commandes ci-dessous nécessitent souvent l’utilisation de “sudo”. Je ne l’ai pas indiqué à chaque fois pour éviter les répétitions inutiles dans les lignes suivantes.

  1. Installation des librairies nécessaires si elles ne sont pas déjà installées
apt install -y ca-certificates curl gnupg
  1. Création du dossier keyrings pour stocker les clés si pas déjà créé
install -m 0755 -d /etc/apt/keyrings
  1. Récupération de la clé de docker pour pouvoir synchroniser lors des mises à jour
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. Modifier les permissions en lecture pour la lire
chmod a+r /etc/apt/keyrings/docker.gpg
  1. Ajouter le repository aux sources
cd /etc/apt/sources.list.d
nano docker.list

# Vous trouverez dans ce fichier os-release la const VERSION_CODENAME
# victoria pour ma part MAIS ATTENTION
# victoria n'est pas supportée par docker donc j'utilise UBUNTU_CODENAME donc jammy
nano etc/os-release

# Cette commande vous donnera la définition de votre architecture
# amd64 pour ma part
dpkg --print-architecture

# La ligne finale à ajouter dans docker.list créé dans l'étape précédente
# A adapter selon VOS informations
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
  1. Test
# En effectuant un petit apt update
# Vous devriez voir votre système récupérer le repository docker et le mettre à jour

apt update

# Atteint :[X] https://download.docker.com/linux/ubuntu jammy InRelease
  1. Installation des packages nécessaires à pour Docker (Docker lui-même, deamon, etc.)
# Après installation de ces packages
# Avec un apt update && apt upgrade la mise à jour sera faite d'office avec votre OS
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Test final
# La commande très classique Hello World de Docker
docker run hello-world

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

# Il vous indique comment le lancer
docker run -it ubuntu bash

# Et voilà, vous êtes sur une "autre" machine totalement indépendant de votre machine.
# Bravo !

Permissions non-root pour Docker 🔓

Si vous pensiez être tiré d’affaire : c’est PRESQUE vrai !

Jetez un œil au chapitre suivant et constatez que la commande pour installer Laravel ne fonctionne pas !

curl -s https://laravel.build/my-blog | bash

En effet, vous vous retrouverez avec un affichage qui indique “Docker is not running.”

Si vous ajouter un sudo devant bash, cela fonctionnera bien mais …

# Ce n’est pas la bonne solution. 

curl -s https://laravel.build/my-blog | sudo bash

Il est recommandé de permettre aux utilisateurs non root d’exécuter des commandes Docker pour des raisons de sécurité. Cela évite l’usage excessif de privilèges d’administrateur, réduit les risques d’opérations à droits élevés et favorise une gestion contrôlée des permissions Docker.

Pour exécuter des commandes Docker en tant qu’utilisateur non root, vous devez ajouter votre utilisateur au groupe Docker. Pour ce faire, saisissez la commande suivante :

sudo usermod -aG docker ${USER}

Dans la commande mentionnée précédemment, ${USER} est une variable d’environnement qui contient votre nom d’utilisateur. Pour activer la nouvelle appartenance au groupe, redémarrez votre machine.

Après cela, vous serez en mesure d’exécuter des commandes Docker sans avoir besoin de les préfixer avec sudo. 🙂

Installer une application avec Laravel Sail 🚢

Le plus difficile est déjà fait ! Désormais, lorsque vous avez besoin d’installer une application Laravel avec Laravel Sail, vous pouvez l’utiliser :

curl -s https://laravel.build/my-blog | bash
Attention qu’aucun autre serveur web (comme Apache2, Ngninx ou une solution comme Valet) n’est pas déjà active.

Conclusion

Cet article vous a montrer comment installer Docker sur Linux et mettre en place une configuration qui synchronise vos mises à jour systèmes avec le repos de Docker.

Vous pouvez enfin bénéficier d’une configuration simplifié pour le développement d’application web avec Laravel Sail.

À vous de jouer ! 🛠️