Skip to content

[v20.10.5 ] Platform architecture detection #1214

@mvadu

Description

@mvadu
  • This is a bug report
  • This is a feature request
  • I searched existing issues before opening this one

Since 20.10.5 (with fix for #1170 platform detection is broken other way on SBCs running 64bit kernel and 32bit user land. Raspberry Pi 4 in my case.

Expected behavior

docker pull should use the highest available platform. Trying to pull an image with arm64 support should work on a 64 bit kernel engine.

Actual behavior

docker fails to detect the arm64 part, and tries to pull arm/v7, which is not supported by image.

Steps to reproduce the behavior

  1. Install fresh raspi os (either get 64 bit image, or enable kernal using arm_64bit=1 in /boot/config.txt
  2. install docker
  3. issue docker pull influxdb
docker pull influxdb
Using default tag: latest
latest: Pulling from library/influxdb
no matching manifest for linux/arm/v7 in the manifest list entries
  1. Manually setting platform to arm64 works fine
docker pull influxdb --platform=arm64
Using default tag: latest
latest: Pulling from library/influxdb
Digest: sha256:0b35e4d071ad0eef0771f7f0679276407a728b8388f98a2d3232f32179ed25fe
Status: Image is up to date for influxdb:latest
docker.io/library/influxdb:latest
  1. Trying to add platform: arm64 to a compose file and trying to use in docker stack deploy fails with services.influxdb Additional property platform is not allowed

Output of docker version:

 docker version
Client: Docker Engine - Community
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:18:46 2021
 OS/Arch:           linux/arm
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:16:18 2021
  OS/Arch:          linux/arm
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Output of docker info:

 docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 9
  Running: 4
  Paused: 0
  Stopped: 5
 Images: 10
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 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: mjp1ksry2ijdrvc6sbc00a1w7
  Is Manager: true
  ClusterID: 8011srp12bt8pu7fvhw60lvqo
  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.23.3
  Manager Addresses:
   192.168.23.3:2377
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc version: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.17-v8+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 1.806GiB
 Name: raspberrypi4
 ID: KAH2:56LY:CSA5:PWR4:LY5D:IBZR:Q2PG:2PBN:VZU4:U3FW:USBL:NXWT
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions