Pourquoi vous pourriez vouloir exécuter nginx dans Docker
L’un des principaux avantages de Docker est l’idempotence totale. Docker l'image est "une chose en soi", vous pouvez la copier ou la déplacer vers un autre serveur et le comportement de l'image sera le même.
Docker installation
Avant d'exécuter un logiciel "conteneurisé", vous devez installer Docker lui-même. Allons-y :
curl -fsSL https://get.docker.com -o initial.sh; bash ./initial.sh
Créez le répertoire pour les fichiers du projet :
mkdir -p ~/project/content
Placez le contenu dans ce répertoire. Je vais juste créer une page à des fins de démonstration :
echo "<h1>Serverspace is the best hosting company</h1>" > ~/project/content/index.html
Démarrer le service :
docker run --name nginxapp -p 80:80 -v ~/project/content:/usr/share/nginx/html nginx
Le serveur devrait vous donner la bonne réponse si vous ouvrez son adresse IP via le Web :
Cela suffit pour une configuration minimale, mais vous pouvez « attacher » des fichiers de configuration supplémentaires au serveur Web si nécessaire. Je vous conseille également d'exécuter le conteneur avec l'option -d, cette option « indiquera » à Docker d'exécuter le conteneur en arrière-plan afin que vous puissiez fermer la session du terminal :
docker run --name nginxapp -p 80:80 -v ~/project/content:/usr/share/nginx/html -v ~/project/yourdomain.conf:/etc/project/conf.d/yourdomain.conf -d nginx
Pour aller plus loin
Dans ce document, j'ai mentionné certains avantages de l'exécution de nginx conteneurisé et décrit la manière de l'exécuter. Ubuntu 20.04.