Cache Docker: ajouter mode offline/cache-only + controler le pull (docker run --pull=never) #29

Open
opened 2026-01-20 17:36:50 +00:00 by glenux · 0 comments
Owner

Constat

Quand on veut garantir « pas de telechargement », Docker peut quand meme tenter un pull implicite au moment du docker run selon la config/l'etat local.

Actuellement docmachine build:

  • decide de faire docker pull ou docker image load dans src/build/run.cr#_pull_image
  • puis fait docker run ... <image> <action> sans politique de pull explicite (src/container/docker_engine.cr).

Attendu

  • Ajouter une option CLI (build et/ou container run):
    • --pull=never / --pull=ifmissing / --pull=always (ou un enum equivalent)
    • un mode --offline (ou --cache-only) qui:
      • refuse tout acces reseau
      • n'utilise que docker image load (et echoue si cache absent)
      • lance le conteneur avec --pull=never

Pistes techniques

  • Sur Docker: passer --pull=never a docker run.
  • Sur Podman: option equivalente selon versions (a valider).
  • Lier le comportement avec #21 (flags) et #2/#28 (strategie cache) :
    • si cache hit => --pull=never par defaut (comportement plus deterministe)

Notes

Ce ticket vise surtout la garantie « zero download » (utile en CI offline / environnements verrouilles).

## Constat Quand on veut garantir « pas de telechargement », Docker peut quand meme tenter un pull implicite au moment du `docker run` selon la config/l'etat local. Actuellement `docmachine build`: - decide de faire `docker pull` ou `docker image load` dans `src/build/run.cr#_pull_image` - puis fait `docker run ... <image> <action>` sans politique de pull explicite (`src/container/docker_engine.cr`). ## Attendu - Ajouter une option CLI (build et/ou container run): - `--pull=never` / `--pull=ifmissing` / `--pull=always` (ou un enum equivalent) - un mode `--offline` (ou `--cache-only`) qui: - refuse tout acces reseau - n'utilise que `docker image load` (et echoue si cache absent) - lance le conteneur avec `--pull=never` ## Pistes techniques - Sur Docker: passer `--pull=never` a `docker run`. - Sur Podman: option equivalente selon versions (a valider). - Lier le comportement avec #21 (flags) et #2/#28 (strategie cache) : - si cache hit => `--pull=never` par defaut (comportement plus deterministe) ## Notes Ce ticket vise surtout la garantie « zero download » (utile en CI offline / environnements verrouilles).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
glenux/docmachine-cli#29
No description provided.