From 55be6be6c52556a7c2d9463ddd8b06434246271f Mon Sep 17 00:00:00 2001 From: Alexandre Iooss Date: Tue, 1 Sep 2020 14:03:06 +0200 Subject: [PATCH] Docker instruction before Docker compose --- Dockerfile | 10 +++++----- README.md | 50 ++++++++++++++++++++++++++++++++------------------ 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index f74cf170..ef2531a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,12 +15,12 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* # Instal PyPI requirements -COPY requirements.txt /code/ -RUN pip3 install -r /code/requirements.txt --no-cache-dir +COPY requirements.txt /var/www/note_kfet/ +RUN pip3 install -r /var/www/note_kfet/requirements.txt --no-cache-dir # Copy code -WORKDIR /code -COPY . /code/ +WORKDIR /var/www/note_kfet +COPY . /var/www/note_kfet/ EXPOSE 8080 -ENTRYPOINT ["/code/entrypoint.sh"] +ENTRYPOINT ["/var/www/note_kfet/entrypoint.sh"] diff --git a/README.md b/README.md index 7087b120..246601a0 100644 --- a/README.md +++ b/README.md @@ -144,30 +144,44 @@ Sinon vous pouvez suivre les étapes ici. Il est possible de travailler sur une instance Docker. -1. Cloner le dépôt là où vous voulez : +Pour construire l'image Docker `nk20`, - $ git clone git@gitlab.crans.org:bde/nk20.git +``` +git clone https://gitlab.crans.org/bde/nk20/ && cd nk20 +docker build . -t nk20 +``` -2. Copiez le fichier `.env_example` à la racine du projet vers le fichier `.env`, - et mettez à jour vos variables d'environnement +Ensuite pour lancer la note Kfet en tant que vous (option `-u`), +l'exposer sur son port 80 (option `-p`) et monter le code en écriture (option `-v`), -3. Dans le fichier `docker_compose.yml`, qu'on suppose déjà configuré, - ajouter les lignes suivantes, en les adaptant à la configuration voulue : +``` +docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd):/var/www/note_kfet/" -p 80:8080 nk20 +``` - nk20: - build: /chemin/vers/nk20 - volumes: - - /chemin/vers/nk20:/code/ - env_file: /chemin/vers/nk20/.env - restart: always - labels: - - traefik.domain=ndd.example.com - - traefik.frontend.rule=Host:ndd.example.com - - traefik.port=8000 +Si vous souhaitez lancer une commande spéciale, vous pouvez l'ajouter à la fin, par exemple, -4. Enjoy : +``` +docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd):/var/www/note_kfet/" -p 80:8080 nk20 python3 ./manage.py createsuperuser +``` - $ docker-compose up -d nk20 +#### Avec Docker Compose + +On vous conseilles de faire un fichier d'environnement `.env` en prenant exemple sur `.env_example`. + +Pour par exemple utiliser le Docker de la note Kfet avec Traefik pour réaliser le HTTPS, + +```YAML +nk20: + build: /chemin/vers/le/code/nk20 + volumes: + - /chemin/vers/le/code/nk20:/var/www/note_kfet/ + env_file: /chemin/vers/le/code/nk20/.env + restart: always + labels: + - traefik.domain=ndd.example.com + - traefik.frontend.rule=Host:ndd.example.com + - traefik.port=8080 +``` ### Lancer un serveur de développement