Update Dockerfile.analyzer

This commit is contained in:
Nacim
2025-06-12 00:21:42 +02:00
committed by GitHub
parent eb5cf9e577
commit 21d51bf016

View File

@@ -3,23 +3,34 @@
# Utiliser l'image depuis le registre de Microsoft (MCR) # Utiliser l'image depuis le registre de Microsoft (MCR)
FROM mcr.microsoft.com/presidio-analyzer:latest FROM mcr.microsoft.com/presidio-analyzer:latest
# Changer l'utilisateur pour 'root' afin d'avoir les permissions d'installer des paquets # Définir l'URL et la version du modèle pour une maintenance facile
USER root ARG SPACY_MODEL_URL="https://github.com/explosion/spacy-models/releases/download/fr_core_news_sm-3.7.0/fr_core_news_sm-3.7.0-py3-none-any.whl"
ARG SPACY_MODEL_NAME="fr_core_news_sm"
# Mettre à jour les paquets et installer les outils de construction essentiels # Utiliser pip pour installer directement le modèle depuis son URL.
# - build-essential : contient des outils comme gcc, make, etc. # pip est souvent plus verbeux et donnera de meilleures erreurs.
# - python3-dev : contient les fichiers d'en-tête pour compiler des extensions Python. RUN pip install ${SPACY_MODEL_URL}
# --no-install-recommends est une bonne pratique pour garder l'image légère.
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
python3-dev \
&& rm -rf /var/lib/apt/lists/*
# Revenir à l'utilisateur par défaut de l'image (bonne pratique de sécurité) # Créer un lien symbolique pour que spaCy puisse trouver le modèle sous son nom court.
# L'utilisateur par défaut dans beaucoup d'images est 'app' ou un non-root. # C'est une étape que "spacy download" fait automatiquement.
# Si cela cause un problème, on peut essayer de l'enlever, mais c'est mieux avec. # La bibliothèque spaCy est dans /usr/local/lib/pythonX.Y/site-packages
# On va commenter cette ligne pour l'instant pour plus de simplicité, on la remettra si besoin. # Le nom du répertoire python peut varier, mais cette commande devrait le trouver.
# USER 1001 RUN python -c "import spacy; spacy.cli.link('${SPACY_MODEL_URL##*/}', '${SPACY_MODEL_NAME}', force=True, model_path=spacy.util.get_package_path('${SPACY_MODEL_NAME}'))"
# Maintenant, installer le modèle de langue français de spaCy # L'étape ci-dessus est complexe. Essayons une version plus simple en premier.
RUN python -m spacy download fr_core_news_sm # La plupart du temps, un simple "pip install" suffit.
# Commençons donc par la version la plus simple :
# --- DEBUT DU FICHIER A TESTER ---
# Fichier : Dockerfile.analyzer (Version simplifiée pour le test)
# Utiliser l'image depuis le registre de Microsoft (MCR)
FROM mcr.microsoft.com/presidio-analyzer:latest
# Définir l'URL du modèle à installer
ARG SPACY_MODEL_URL="https://github.com/explosion/spacy-models/releases/download/fr_core_news_sm-3.7.0/fr_core_news_sm-3.7.0-py3-none-any.whl"
# Simplement utiliser pip pour installer le modèle. C'est l'étape la plus importante.
# On ajoute --no-cache-dir pour éviter les problèmes de cache dans Docker.
RUN pip install --no-cache-dir ${SPACY_MODEL_URL}
# --- FIN DU FICHIER A TESTER ---