Aller au contenu

Volumes Docker

Référence interne des volumes utilisés par hash-tool en mode Docker. Cette page est destinée aux cas avancés (débogage, CI sans hash-tool, NAS).

En utilisation normale, hash-tool construit les montages de volumes automatiquement — vous n'avez pas à les gérer manuellement.


Les quatre volumes

Volume conteneur Mode recommandé Contenu
/data :ro (lecture seule) Données à hacher — le conteneur ne modifie jamais la source
/bases lecture/écriture Fichiers .b3 et sidecars .meta.json
/pipelines :ro Fichiers pipeline.json
/resultats lecture/écriture Résultats verify et compare

Volumes requis par commande

Commande /data /bases /pipelines /resultats
compute :ro ✓ écriture
verify :ro :ro ✓ écriture
compare :ro ✓ écriture
runner :ro ✓ écriture :ro ✓ écriture

hash-tool applique ces règles automatiquement lors de la construction des volumes.


Usage avancé sans hash-tool

Ces exemples s'appliquent uniquement quand hash-tool n'est pas disponible : CI bare Docker, NAS Synology sans bash moderne, débogage de l'entrypoint.

# compute
docker run --rm \
  -v /srv/donnees:/data:ro \
  -v /srv/bases:/bases \
  hash_tool compute /data /bases/hashes.b3

# verify
docker run --rm \
  -v /srv/donnees:/data:ro \
  -v /srv/bases:/bases:ro \
  -v /srv/resultats:/resultats \
  -e RESULTATS_DIR=/resultats \
  hash_tool verify /bases/hashes.b3 /data

# compare
docker run --rm \
  -v /srv/bases:/bases:ro \
  -v /srv/resultats:/resultats \
  -e RESULTATS_DIR=/resultats \
  hash_tool compare /bases/old.b3 /bases/new.b3

# runner
docker run --rm \
  -v /srv/donnees:/data:ro \
  -v /srv/bases:/bases \
  -v /srv/resultats:/resultats \
  -v /srv/pipelines/pipeline.json:/pipelines/pipeline.json:ro \
  -e RESULTATS_DIR=/resultats \
  hash_tool runner /pipelines/pipeline.json

# shell interactif (debug)
docker run --rm -it hash_tool shell

Chemins hôte selon l'OS

Environnement Exemple chemin hôte
Linux / serveur /srv/hash-tool/donnees
macOS /Users/moi/Documents/donnees
WSL2 /home/wsl-acer/donnees (pas /mnt/c/...)
NAS Synology /volume1/donnees

Erreurs fréquentes

Résultats écrits dans le conteneur et perdus

/resultats non monté ou RESULTATS_DIR non défini. En utilisation normale via hash-tool, ce cas ne se produit pas — hash-tool monte et configure le volume automatiquement.

Erreur "read-only file system"

Tentative d'écriture sur un volume monté en :ro. compute doit écrire dans /bases (lecture/écriture), pas dans /data (:ro).

Base écrite dans /data

Toujours écrire la base dans /bases, jamais dans /data monté en :ro.