Docker
Docker, pour installer des services déployables en quelques secondes, et les manager en quelques commandes/clics.
- Installer Docker
- Installer Dockge pour manager les stacks
- Installer Watchtower pour mettre à jour les conteneurs
Installer docker
Installez les repo Docker et la clé GPG
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Installez les package
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Et voilà !
Plus d'options Installer docker pour Debian 12
- Dans toute la suite, on part du principe que les stacks sont installées dans le dossier
/docker
, créé grace à la commande :
sudo mkdir /docker
Installer dockge pour gérer et déployer les conteneurs
Dockge est un outil web permettant de créer, configurer, lancer et gérer des conteneurs pour Docker. C'est une interface simple, intuitive, qui est plus légère et plus facile pour les débutants que d'utiliser docker en CLI ou Portainer.
Configuration
Plan des fichiers que nous allons modifier :
root
└── docker
└── dockge
└── compose.yml
Créez le dossier de la stack :
cd /docker
sudo mkdir dockge
Puis créez le fichier compose.yml
dans ce dossier avec l'outil vim que vous avez installé préalablement (dans les outils CLI)
cd /docker/dockge
sudo vi compose.yml
Appuyer sur i
pour rentrer en modif et copiez-collez ceci.
version: "4"
services:
dockge:
image: louislam/dockge:1
restart: unless-stopped
container_name: dockge
ports:
- 3555:5001 # Le port joignable depuis le LAN sera 3555
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /docker/dockge/data:/app/data
- /docker:/docker
environment:
- DOCKGE_STACKS_DIR=/docker
Appuyez sur Echap
pour quitter le mode modif et tapez :x
pour enregistrer et quitter
Pour lancer le conteneur, tapez :
cd /docker/dockge
sudo docker compose up -d
Une fois lancé, tapez dans votre navigateur http://ipduserveur:3555
et vous tomberez sur la page de login.
Plus d'info sur dockge et comment l'utiliser
Et voilà, vous avez installé docker et un outil facile pour manager vos conteneurs !
Watchtower, pour mettre à jour automatiquement les conteneurs
Watchtower est un conteneur qui permet de vérifier les mise à jour et d'installer les nouvelles images sans effort, en ajoutant un simple label dans les fichiers compose.yml
de vos conteneurs.
Configuration
- Ouvrez Dockge dans votre navigateur
- Cliquez sur
compose
- Nommez la stack
watchtower
- Copiez collez la configuration ci-dessous à la place de la configuration par défaut dans Dockge
version: "2.3"
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower:latest
restart: unless-stopped
env_file:
- .env
environment:
- TZ=Europe/Paris
- WATCHTOWER_SCHEDULE=${SCHEDULE}
- WATCHTOWER_LABEL_ENABLE=true # watchtower scan tous les conteneurs qui ont le label com.centurylinklabs.watchtower.enable=true
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_REMOVE_VOLUMES=true
#Notifications Discord - décommenter si utilisé
#- WATCHTOWER_NOTIFICATIONS=slack
#- WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER=Watchtower
#- WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL=${WH_URL}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
Puis remplissez les données ci-dessous dans l'encart ".env" de Dockge
SCHEDULE=
WH_URL=
Propriété | Valeur | Exemples |
---|---|---|
SCHEDULE | Format cron | 0 0 6 * * * (tous les jours à 6h du matin) |
WH_URL | URL du webhook de votre serveur Discord - ajouter /slack à la fin | https://serveurdiscord/valeur/slack |
Pour que Watchtower surveille vos autres conteneurs, ajoutez ceci à vos conteneurs dans leur compose.yml :
labels:
- com.centurylinklabs.watchtower.enable=true
Puis relancez les stacks modifiés. Et voilà, vous avez une bonne carcasse pour commencer à installer les services qui vous plaisent !