-
Notifications
You must be signed in to change notification settings - Fork 18.9k
Closed
Labels
containerd-integrationIssues and PRs related to containerd integrationIssues and PRs related to containerd integrationkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed.
Description
Description
Got something weird on my machine; it looks like it's returning duplicate entries for the same image;
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 3.16 b95359c25051 9 days ago 2.71MB
alpine 3.16 b95359c25051 9 days ago 2.59MB
alpine latest 8914eb54f968 4 days ago 3.26MB
...Hitting the API directly shows the same:
curl --unix-socket /var/run/docker.sock 'http://localhost/images/json' | jqDetails
[
{
"Containers": -1,
"Created": 1669291855,
"Id": "sha256:b95359c2505145f16c6aa384f9cc74eeff78eb36d308ca4fd902eeeb0a0b161b",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"alpine:3.16@sha256:b95359c2505145f16c6aa384f9cc74eeff78eb36d308ca4fd902eeeb0a0b161b"
],
"RepoTags": [
"alpine:3.16"
],
"SharedSize": -1,
"Size": 2711409,
"VirtualSize": 5955584
},
{
"Containers": -1,
"Created": 1669291855,
"Id": "sha256:b95359c2505145f16c6aa384f9cc74eeff78eb36d308ca4fd902eeeb0a0b161b",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"alpine:3.16@sha256:b95359c2505145f16c6aa384f9cc74eeff78eb36d308ca4fd902eeeb0a0b161b"
],
"RepoTags": [
"alpine:3.16"
],
"SharedSize": -1,
"Size": 2594762,
"VirtualSize": 6156288
},
{
"Containers": -1,
"Created": 1669712471,
"Id": "sha256:8914eb54f968791faf6a8638949e480fef81e697984fba772b3976835194c6d4",
"Labels": null,
"ParentId": "",
"RepoDigests": [
"alpine:latest@sha256:8914eb54f968791faf6a8638949e480fef81e697984fba772b3976835194c6d4"
],
"RepoTags": [
"alpine:latest"
],
"SharedSize": -1,
"Size": 3262843,
"VirtualSize": 8138752
}
]I double-checked if it's not something in the Docker Desktop proxy, but using the .raw socket, I get the same;
docker run --rm -v /var/run/docker.sock.raw:/var/run/docker.sock docker:cli docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 3.16 b95359c25051 9 days ago 2.71MB
alpine 3.16 b95359c25051 9 days ago 2.59MB
alpine latest 8914eb54f968 4 days ago 3.26MB
busybox latest fcd85228d7a2 43 hours ago 832kBWithin the Docker Desktop VM, I queried ctr, and also didn't see duplicates:
ctr -n moby -a /var/run/desktop-containerd/containerd.sock image ls -q
docker.io/library/alpine:3.16
docker.io/library/alpine:latest
docker.io/library/busybox:latestSo I'm suspecting it's somewhere in dockerd. Perhaps it's due to multi-arch; could it be I have the image pulled in 2 different architectures?
ctr -n moby -a /var/run/desktop-containerd/containerd.sock image ls
REF TYPE DIGEST SIZE PLATFORMS LABELS
docker.io/library/alpine:3.16 application/vnd.docker.distribution.manifest.list.v2+json sha256:b95359c2505145f16c6aa384f9cc74eeff78eb36d308ca4fd902eeeb0a0b161b 2.6 MiB linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x -
docker.io/library/alpine:latest application/vnd.docker.distribution.manifest.list.v2+json sha256:8914eb54f968791faf6a8638949e480fef81e697984fba772b3976835194c6d4 3.1 MiB linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/ppc64le,linux/s390x -
docker.io/library/busybox:latest application/vnd.docker.distribution.manifest.list.v2+json sha256:fcd85228d7a25feb59f101ac3a955d27c80df4ad824d65f5757a954831450185 812.7 KiB linux/386,linux/amd64,linux/arm/v5,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/mips64le,linux/ppc64le,linux/riscv64,linux/s390x -And with some testing; it looks like that's the case;
docker image rm alpine:3.16
Untagged: docker.io/library/alpine:3.16docker image pull alpine:3.16
# ...
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 8914eb54f968 4 days ago 3.26MB
busybox latest fcd85228d7a2 44 hours ago 832kBdocker image pull --platform=linux/amd64 alpine:3.16
# ...
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 3.16 b95359c25051 4 seconds ago 2.81MB
alpine 3.16 b95359c25051 4 seconds ago 2.71MB
alpine latest 8914eb54f968 4 days ago 3.26MB
busybox latest fcd85228d7a2 44 hours ago 832kBReproduce
see above
Expected behavior
no duplicate images
docker version
Client:
Cloud integration: v1.0.29
Version: 20.10.21
API version: 1.41
Go version: go1.18.7
Git commit: baeda1f
Built: Tue Oct 25 18:01:18 2022
OS/Arch: darwin/arm64
Context: default
Experimental: true
Server: Docker Desktop 4.15.0 (93002)
Engine:
Version: 22.06.0-beta.0-902-g2708be0db4.m
API version: 1.43 (minimum version 1.12)
Go version: go1.18.4
Git commit: 2708be0db4
Built: Wed Nov 23 09:32:50 2022
OS/Arch: linux/arm64
Experimental: true
containerd:
Version: 1.6.10
GitCommit: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
### docker info
```bash
Client:
Context: default
Debug Mode: false
Plugins:
base: Identify base image (Docker Inc., vn/a)
buildx: Docker Buildx (Docker Inc., v0.9.1)
compose: Docker Compose (Docker Inc., v2.13.0)
dev: Docker Dev Environments (Docker Inc., v0.0.5)
extension: Manages Docker extensions (Docker Inc., v0.2.16)
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
scan: Docker Scan (Docker Inc., v0.22.0)
shell: Open a browser shell on the Docker Host. (thaJeztah, v0.0.1)
Server:
Containers: 45
Running: 13
Paused: 0
Stopped: 32
Images: 14
Server Version: 22.06.0-beta.0-902-g2708be0db4.m
Storage Driver: stargz
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: active
NodeID: bfpr7gj1w767qwq37qta7kqts
Is Manager: true
ClusterID: crv7mpxcck85em4ocnfci4esi
Managers: 1
Nodes: 1
Default Address Pool: 10.0.0.0/8
SubnetSize: 24
Data Path Port: 4789
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 10
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Force Rotate: 0
Autolock Managers: false
Root Rotation In Progress: false
Node Address: 192.168.65.3
Manager Addresses:
192.168.65.3:2377
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 5.15.49-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 5
Total Memory: 5.8GiB
Name: docker-desktop
ID: c8ca0b32-cd5f-4ad2-9a97-bc30ebe413d4
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Registry: https://index.docker.io/v1/
Labels:
Experimental: true
Insecure Registries:
hubproxy.docker.internal:5000
127.0.0.0/8
Live Restore Enabled: false
Additional Info
Docker Desktop 4.15 with containerd integration, which gets confused when sorting the list of images, and starts duplicating them (as the images are no longer unique);
dashboard_duplicating.mov
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
containerd-integrationIssues and PRs related to containerd integrationIssues and PRs related to containerd integrationkind/bugBugs are bugs. The cause may or may not be known at triage time so debugging may be needed.Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed.
Type
Projects
Status
Done
Status
Done