mirror of
https://github.com/docker/compose.git
synced 2026-09-29 11:04:49 +00:00
- pullRequiredImages resolves each distinct pulled image once, after all pulls completed, for the host default platform — the exact way getLocalImagesDigests resolves already-local images. Resolving from each pull's goroutine, for the pulled platform, let the recorded digest depend on pull completion order when several services pull the same tag for different platforms (last-writer-wins), and made the first up after a pull recreate containers. Platform-pinned services keep getting their own platform's digest from serviceImageDigest. In dry-run nothing was actually pulled, so the local inspect is skipped — it reached the real daemon through a DryRunClient dispatch that no longer matched and failed with 'No such image'. - explicit 'compose pull' treats daily/weekly/every_N windows as due: it is the only way to force a refresh ahead of the window. - 'compose pull' no longer silently skips services declaring both provider: and image:. - pre_start hook images go through the same mustPull interpreter on the up path as on the pull path, so refresh windows apply consistently. - matchLocalManifest falls back to the inspect's flat platform fields when the lone available manifest carries no ImageData (locally built images), instead of reporting the platform unsatisfied and pulling a possibly local-only image. - scale resolves DOCKER_DEFAULT_PLATFORM without validating build.platforms: a conflict on a service that isn't being built must not abort the command. run needs nothing: createOptions.Apply resolves and validates platforms on its path already. - resolveImageVolumes documents the accepted one-time-recreate and retag-race tradeoffs. Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com> |
||
|---|---|---|
| .. | ||
| api | ||
| bridge | ||
| compose | ||
| dryrun | ||
| e2e | ||
| mocks | ||
| remote | ||
| utils | ||
| watch | ||