moby/daemon
Laura Brehm 5ea7b8d091
fix: docker pull with platform checks wrong image tag
This fixes a bug where, if a user pulls an image with a tag != `latest` and
a specific platform, we return an NotFound error for the wrong (`latest`) tag.
see: https://github.com/moby/moby/issues/45558

This bug was introduced in 779a5b3029
in the changes to `daemon/images/image_pull.go`, when we started returning the error from the call to
`GetImage` after the pull. We do this call, if pulling with a specified platform, to check if the platform
of the pulled image matches the requested platform (for cases with single-arch images).
However, when we call `GetImage` we're not passing the image tag, only name, so `GetImage` assumes `latest`
which breaks when the user has requested a different tag, since there might not be such an image in the store.

Signed-off-by: Laura Brehm <laurabrehm@hey.com>
(cherry picked from commit f450ea64e6)
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
2023-05-18 13:40:07 +01:00
..
cluster daemon/cluster: inline filters 2023-04-25 15:17:44 +02:00
config daemon: deprecate --oom-score-adjust for the daemon 2023-04-13 00:02:39 +02:00
containerd c8d: The authorizer needs to be set even if AuthConfig is empty 2023-05-12 09:47:32 +02:00
events daemon/events: use strings.Cut() 2022-12-21 11:09:01 +01:00
graphdriver [chore] clean up reexec.Init() calls 2023-05-11 16:31:41 +02:00
images fix: docker pull with platform checks wrong image tag 2023-05-18 13:40:07 +01:00
initlayer pkg/containerfs: drop ContainerFS type alias 2022-09-23 16:56:53 -04:00
links daemon/links: use strings.Cut() 2022-12-21 11:09:01 +01:00
listeners Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
logger fix some comments 2023-04-25 13:39:28 +08:00
names Add canonical import comment 2018-02-05 16:51:57 -05:00
network daemon: inline filters in tests 2023-04-25 15:13:26 +02:00
stats migrate pkg/pubsub to github.com/moby/pubsub 2022-09-30 18:40:19 +02:00
testdata Remove libtrust dep from api 2017-09-06 12:05:19 -04:00
apparmor_default.go Revert "apparmor: Check if apparmor_parser is available" 2023-02-16 08:26:25 -07:00
apparmor_default_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
archive.go daemon: refactor isOnlineFSOperationPermitted 2022-10-26 12:06:31 -04:00
archive_tarcopyoptions.go Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
archive_tarcopyoptions_unix.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
archive_tarcopyoptions_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
archive_unix.go daemon: archive in a dedicated mount namespace 2022-10-27 12:52:14 -04:00
archive_windows.go pkg/system: move CheckSystemDriveAndRemoveDriveLetter to pkg/archive 2022-11-29 17:07:48 +01:00
attach.go Make it explicit raw|multiplexed stream implementation being used 2022-05-12 11:36:31 +02:00
auth.go daemon: use types/registry.AuthConfig 2022-07-29 23:05:18 +02:00
changes.go c8d: add support for docker diff 2023-03-30 10:29:07 +01:00
checkpoint.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
cluster.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
commit.go daemon: Daemon.CreateImageFromContainer(): remove intermediate vars 2023-04-29 02:59:54 +02:00
configs.go Merge configs/secrets in unix implementation 2018-02-16 11:25:14 -05:00
configs_linux.go Add canonical import comment 2018-02-05 16:51:57 -05:00
configs_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
configs_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
container.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
container_linux.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
container_operations.go libnetwork: return concrete-typed *Endpoint 2023-01-13 14:19:06 -05:00
container_operations_unix.go move pkg/system: process to a separate package 2022-11-04 01:50:23 +01:00
container_operations_windows.go refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
container_unix_test.go daemon: allow shimv2 runtimes to be configured 2023-02-17 18:08:06 -05:00
container_windows.go daemon: fix capitalization of some functions 2020-04-14 17:22:19 +02:00
containerfs_linux.go daemon: archive in a dedicated mount namespace 2022-10-27 12:52:14 -04:00
content.go update to golang 1.19 2022-09-07 15:27:16 +02:00
create.go Resolve and store manifest when creating container 2023-03-06 15:13:36 +01:00
create_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
create_unix.go Fix pruning anon volume created from image config 2023-03-14 11:06:26 +01:00
create_windows.go Fix pruning anon volume created from image config 2023-03-14 11:06:26 +01:00
daemon.go split GetRepository from ImageService 2023-04-09 12:07:57 +02:00
daemon_linux.go remove deprecated legacy "overlay" storage-driver 2023-04-19 17:06:45 +02:00
daemon_linux_test.go daemon: remove deprecated AuFS storage driver 2023-04-15 01:27:16 +02:00
daemon_test.go Use hashicorp/go-memdb instead of truncindex 2022-05-20 18:22:21 +02:00
daemon_unix.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
daemon_unix_test.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
daemon_unsupported.go daemon: NewDaemon(): check system requirements early 2022-10-17 15:15:55 +02:00
daemon_windows.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
daemon_windows_test.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
debugtrap_unix.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
debugtrap_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
debugtrap_windows.go pkg/signal: move signal.DumpStacks() to a separate package 2021-07-15 18:09:43 +02:00
delete.go Implement run using the containerd snapshotter 2023-02-06 18:21:50 +01:00
delete_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
dependency.go Bump swarmkit to v2 2022-04-21 17:33:07 -04:00
devices_linux.go Add DeviceRequests to HostConfig to support NVIDIA GPUs 2019-03-18 17:19:45 +00:00
disk_usage.go daemon/disk_usage: Use context aware singleflight 2022-11-29 16:46:19 +01:00
errors.go Merge pull request #44003 from vvoland/invalidfilter 2023-02-22 16:24:47 +00:00
events.go daemon: LogDaemonEventWithAttributes: don't call SystemInfo() 2022-06-07 22:01:12 +02:00
events_test.go daemon: rename variables that collide with imported package names 2020-04-14 17:22:23 +02:00
exec.go daemon: translateContainerdStartErr(): rename to setExitCodeFromError() 2022-12-28 09:27:42 +01:00
exec_linux.go c8d: Set the process user on exec 2023-04-07 10:53:25 +02:00
exec_linux_test.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
exec_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
export.go remove GetLayerByID from ImageService interface 2023-03-10 17:54:55 +01:00
health.go Merge pull request #43997 from thaJeztah/healthcheck_capture_logs 2022-09-02 10:48:22 +02:00
health_test.go daemon: suppress logs in unit tests 2019-10-18 00:57:56 +02:00
id.go daemon: remove migrateTrustKeyID() 2022-11-28 20:28:55 +01:00
image_service.go c8d: implement classic builder 2023-05-11 19:13:13 +01:00
info.go Merge pull request #45298 from thaJeztah/pkg_pkatform_cleanup 2023-04-27 02:02:41 +02:00
info_unix.go Merge pull request #45320 from akerouanton/info-no-new-privileges 2023-04-18 14:37:15 +02:00
info_unix_test.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
info_windows.go Add no-new-privileges to SecurityOptions returned by /info 2023-04-18 09:34:08 +02:00
inspect.go c8d: Compute container's layer size 2023-03-08 00:58:02 +01:00
inspect_linux.go c8d: Compute container's layer size 2023-03-08 00:58:02 +01:00
inspect_test.go daemon: skip TestGetInspectData when using containerd snapshotters 2023-04-18 15:02:41 +02:00
inspect_windows.go c8d: Compute container's layer size 2023-03-08 00:58:02 +01:00
keys.go daemon: use strconv instead of fmt.Sprintf() 2022-10-08 17:41:39 +02:00
keys_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
kill.go fix some comments 2023-04-25 13:39:28 +08:00
licensing.go Expose license status in Info (#37612) 2018-08-17 17:05:21 -07:00
licensing_test.go bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
links.go Add canonical import comment 2018-02-05 16:51:57 -05:00
list.go images/Children: Return error 2023-04-13 16:20:02 +02:00
list_test.go daemon: inline filters in tests 2023-04-25 15:13:26 +02:00
list_unix.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
list_windows.go pkg/containerfs: alias ContainerFS to string 2022-09-23 16:56:52 -04:00
logdrivers_linux.go Support configuration of log cacher. 2020-02-19 17:02:34 -05:00
logdrivers_windows.go Support configuration of log cacher. 2020-02-19 17:02:34 -05:00
logs.go fix some comments 2023-04-25 13:39:28 +08:00
logs_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
metrics.go health: Start probe timeout after exec starts 2022-04-28 17:21:03 -04:00
metrics_unix.go set ReadHeaderTimeout to address G112: Potential Slowloris Attack (gosec) 2022-09-22 12:13:28 +02:00
metrics_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
monitor.go daemon: handleContainerExit(): add execDuration in attributes 2023-05-08 13:45:01 +02:00
mounts.go Extract volume interaction to a volumes service 2018-05-25 14:21:07 -04:00
names.go container: ViewDB: return typed system errors 2022-12-08 14:33:57 +01:00
network.go Make default options for newly created networks configurable 2023-03-01 07:58:26 +01:00
network_windows.go libnetwork: return concrete-typed *Endpoint 2023-01-13 14:19:06 -05:00
nvidia_linux.go goimports: fix imports 2019-09-18 12:56:54 +02:00
oci_linux.go Prefer loading docker-init from an appropriate "libexec" directory 2023-03-24 14:25:12 -07:00
oci_linux_test.go daemon: setupFakeDaemon(): add fakeImageService 2023-04-18 15:02:41 +02:00
oci_opts.go daemon/linux: Set console size on creation 2022-05-19 07:57:27 +02:00
oci_utils.go goimports: fix imports 2019-09-18 12:56:54 +02:00
oci_windows.go daemon: add annotations to container HostConfig 2023-02-23 18:59:00 -05:00
oci_windows_test.go daemon: use strings.Cut() and cleanup error messages 2022-12-21 11:09:03 +01:00
pause.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
prune.go daemon/prune: Use errdefs for invalid "until" value 2023-04-21 10:25:57 +02:00
reload.go daemon: LogDaemonEventWithAttributes: don't call SystemInfo() 2022-06-07 22:01:12 +02:00
reload_test.go daemon: fix empty-lines (revive) 2022-09-28 01:58:51 +02:00
reload_unix.go daemon: use strconv instead of fmt.Sprintf() 2022-10-08 17:41:39 +02:00
reload_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
rename.go libnetwork: return concrete-typed *Sandbox 2023-01-13 14:19:06 -05:00
resize.go daemon: use strconv instead of fmt.Sprintf() 2022-10-08 17:41:39 +02:00
resize_test.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
restart.go imageservice: Add context to various methods 2022-11-03 12:22:40 +01:00
runtime_unix.go daemon: allow shimv2 runtimes to be configured 2023-02-17 18:08:06 -05:00
runtime_unix_test.go daemon: allow shimv2 runtimes to be configured 2023-02-17 18:08:06 -05:00
runtime_windows.go daemon: allow shimv2 runtimes to be configured 2023-02-17 18:08:06 -05:00
seccomp_linux.go Remove "seccomp" build tag 2022-05-12 14:48:35 -07:00
seccomp_linux_test.go container: split security options to a SecurityOptions struct 2023-04-29 00:03:37 +02:00
seccomp_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
secrets.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secrets_linux.go Add canonical import comment 2018-02-05 16:51:57 -05:00
secrets_unsupported.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
secrets_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
start.go Implement run using the containerd snapshotter 2023-02-06 18:21:50 +01:00
start_unix.go daemon: allow shimv2 runtimes to be configured 2023-02-17 18:08:06 -05:00
start_windows.go Windows CI: Add support for testing with containerd 2021-08-17 07:09:40 -07:00
stats.go Merge pull request #40478 from cpuguy83/dont-prime-the-stats 2020-04-16 20:57:06 +02:00
stats_collector.go pkg/sysinfo: move MemInfo and ReadMemInfo to a separate package 2023-03-15 17:52:45 +01:00
stats_unix.go daemon: move code related to stats together 2023-04-08 19:00:01 +02:00
stats_windows.go daemon: move code related to stats together 2023-04-08 19:00:01 +02:00
stop.go container: StopSignal(): return syscall.Signal 2022-05-05 00:53:53 +02:00
top_unix.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
top_unix_test.go Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
top_windows.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
unpause.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
update.go Refactor libcontainerd to minimize c8d RPCs 2022-08-24 14:59:08 -04:00
update_linux.go goimports: fix imports 2019-09-18 12:56:54 +02:00
update_windows.go Windows: Experimental: Allow containerd for runtime 2019-03-12 18:41:55 -07:00
volumes.go daemon: replace ErrVolumeReadonly with errdefs 2022-09-27 22:24:29 +02:00
volumes_linux.go Fix the several typos detected by github.com/client9/misspell 2018-08-09 00:45:00 +09:00
volumes_linux_test.go daemon: rename variables that collide with imported package names 2020-04-14 17:22:23 +02:00
volumes_unit_test.go volume/mounts: remove "containerOS" argument from NewParser (LCOW code) 2021-07-02 13:51:55 +02:00
volumes_unix.go daemon: archive in a dedicated mount namespace 2022-10-27 12:52:14 -04:00
volumes_windows.go Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00
wait.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
workdir.go Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00