Skip to content
Snippets Groups Projects
Select Git revision
  • 46f8f6122007f7d3ef9685e63d73a4ef50077d24
  • master default
  • datenotunique
  • archives
  • lastToucanUrl
  • urltitle-year
  • lets-hope-for-the-best
  • everything-is-fine
  • feature/change-pdf-endpoint
9 results

AllToucanPage.js

Blame
  • Docker.md 4.14 KiB

    Docker from Zero to GigaChad

    Docker ça faire presque tous ce qu'on veut avec conteneurs.

    Écrire un Dockerfile

    Un Dockerfile c'est une recette pour construire une image Docker et ça ressemble à ça:

    FROM python:3.8
    
    COPY requirements.txt .
    RUN pip install -r requirements.txt
    
    COPY main.py main.py
    
    ENTRYPOINT ["python", "main.py"]

    On reconnait 3 parties essentielles:

    L'image de base

    FROM python:3.8

    C'est une image de laquelle on s'inspire pour créer la notre, ça nous évite d'avoir à installer python nous même par exemple.

    Un ensemble d'instructions

    COPY requirements.txt .
    RUN pip install -r requirements.txt
    COPY main.py main.py

    Ces instructions s'exécutent lors de la construction de l'image.

    Les instructions les plus courantes sont:
    Pour ajouter des fichiers dans l'image:

    COPY <un fichier/dossier sur mon pc> <un emplacement dans mon image>
    COPY --chown=user:group <mon fichier> <ma destination>

    Pour lancer une commande dans l'image:

    RUN ma commande

    Un entrypoint

    C'est la commande qui s'exécutent lorsque le conteneur est démarre à partir de l'image.
    Deux façons possible de l'écrire:
    exec form:

    ENTRYPOINT ["mon executable", "arg1", "arg2"]

    C'est la façon préférée de faire.