1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2024-11-26 18:37:12 +00:00

Docker instruction before Docker compose

This commit is contained in:
Alexandre Iooss 2020-09-01 14:03:06 +02:00
parent bf7b187048
commit 55be6be6c5
2 changed files with 37 additions and 23 deletions

View File

@ -15,12 +15,12 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Instal PyPI requirements # Instal PyPI requirements
COPY requirements.txt /code/ COPY requirements.txt /var/www/note_kfet/
RUN pip3 install -r /code/requirements.txt --no-cache-dir RUN pip3 install -r /var/www/note_kfet/requirements.txt --no-cache-dir
# Copy code # Copy code
WORKDIR /code WORKDIR /var/www/note_kfet
COPY . /code/ COPY . /var/www/note_kfet/
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT ["/code/entrypoint.sh"] ENTRYPOINT ["/var/www/note_kfet/entrypoint.sh"]

View File

@ -144,30 +144,44 @@ Sinon vous pouvez suivre les étapes ici.
Il est possible de travailler sur une instance Docker. 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`, Ensuite pour lancer la note Kfet en tant que vous (option `-u`),
et mettez à jour vos variables d'environnement 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
```
Si vous souhaitez lancer une commande spéciale, vous pouvez l'ajouter à la fin, par exemple,
```
docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd):/var/www/note_kfet/" -p 80:8080 nk20 python3 ./manage.py createsuperuser
```
#### 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: nk20:
build: /chemin/vers/nk20 build: /chemin/vers/le/code/nk20
volumes: volumes:
- /chemin/vers/nk20:/code/ - /chemin/vers/le/code/nk20:/var/www/note_kfet/
env_file: /chemin/vers/nk20/.env env_file: /chemin/vers/le/code/nk20/.env
restart: always restart: always
labels: labels:
- traefik.domain=ndd.example.com - traefik.domain=ndd.example.com
- traefik.frontend.rule=Host:ndd.example.com - traefik.frontend.rule=Host:ndd.example.com
- traefik.port=8000 - traefik.port=8080
```
4. Enjoy :
$ docker-compose up -d nk20
### Lancer un serveur de développement ### Lancer un serveur de développement