Je pense faire référence prochainement à ces logiciels et je souhaite pouvoir poster un lien vers cet article plutôt que de rédiger ces étapes à plusieurs reprises.
Mais qu'est ce que docker?
Docker est une technologie permettant d'isoler des applications dans des "conteneurs". Alors qu'il était courant de virtualiser des serveurs auparavant, la technologie Docker permet de seulement isoler, virtualiser votre application. Cela permet entre autres de faire tourner sur votre serveur, plusieurs versions d'un même logiciel qui auraient des dépendances incompatibles, ces dépendances pouvant être intégrés au conteneur.
Cela permet au final de gagner du temps en déployant une application sur un serveur distant avec toutes ces dépendances incluses et en évitant l'effet "mais pourtant ça marche sur mon pc".
- Si vous souhaitez plus d'infos:
- Un article de Red Hat à ce sujet: https://www.redhat.com/fr/topics/containers/what-is-docker
- Une vidéo à ce sujet: https://www.youtube.com/watch?v=8cH0ilGlQdE
Et c'est quoi docker-compose ?
Docker-compose, c'est un logiciel qui va nous permettre de définir les conteneurs à installer et différents points concernant leurs configurations à travers l'utilisation de fichier ".yaml"
Cela permet entre autres de maitriser plus facilement ce que l'on installe sur notre serveur, mais aussi dans garder une trace.
Par exemple, voici à quoi peut ressembler une commande docker :
docker run -d \
--name=resilio-sync \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 8888:8888 \
-p 55555:55555 \
-v /path/to/config:/config \
-v /path/to/downloads:/downloads \
-v /path/to/data:/sync \
--restart unless-stopped \
lscr.io/linuxserver/resilio-sync
Et voici à quoi ressemble un fichier yaml:
version: "2.1"
services:
resilio-sync:
image: lscr.io/linuxserver/resilio-sync
container_name: resilio-sync
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- /path/to/config:/config
- /path/to/downloads:/downloads
- /path/to/data:/sync
ports:
- 8888:8888
- 55555:55555
restart: unless-stopped
L'avantage du fichier yaml c'est que l'on peut facilement l'éditer, et ensuite exécuter une commande docker-compose pour relancer la configuration de notre conteneur.
Tandis que si je souhaite éditer mon conteneur déployer via ligne de commande, j'ai intérêt à ne pas avoir perdu mon bash_history (Ou d'avoir correctement documenté mon projet.)
Une vidéo sur ce sujet : https://www.youtube.com/watch?v=MfxKDC3RR-U
Installation de docker et docker-compose :
Pour installer docker, utilisez les commandes suivantes :
#On télecharge un script depuis le site de docker pour son installation
wget https://get.docker.com -O docker.sh
#On rend le script executable
chmod +x docker.sh
#On lance le script
./docker.sh
Ensuite pour installer docker-compose sur un système Debian:
apt-get install docker-compose
C'était une introduction rapide à docker et docker-compose. J'espère que vous trouverez des projets sympa à déployer, si vous ne savez pas où chercher, faîtes un tour sur ce site : https://www.linuxserver.io/
[…] Pour mettre en place Nginx Proxy Manager, il faut tout d’abord installer docker et docker-compose. Rendez-vous ici si vous voulez plus d’informations : Comment installer docker et docker-compose ? […]