当前我就遇到了这样的问题。我在Raspberry Pi 4B
开发板上安装了Docker,使用命令sudo docker run --platform linux/amd64 -p 12000:80 -e PAPERMERGE__SECURITY__SECRET_KEY=abc -e PAPERMERGE__AUTH__PASSWORD=admin papermerge/papermerge:3.0.3安装papermerge的应用,但是镜像在下载完成后,启动容器失败。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 pi@raspberrypi:~ $ sudo docker run -p 12000:80 \ -e PAPERMERGE__SECURITY__SECRET_KEY=abc \ -e PAPERMERGE__AUTH__PASSWORD=admin \ papermerge/papermerge:3.0.3 Unable to find image 'papermerge/papermerge:3.0.3' locally 3.0.3: Pulling from papermerge/papermerge 1b13d4e1a46e: Pull complete 1c74526957fc: Pull complete 30d855997954: Pull complete ad5739181616: Pull complete 75e2b45cbee5: Pull complete 37a8a17eedd2: Pull complete 2697e3bb938f: Pull complete 1db75c2e70ec: Pull complete 58505172c2e6: Pull complete 0a775f2002be: Pull complete 37fb7305149c: Pull complete 02037e26ac8b: Pull complete 4f4fb700ef54: Pull complete 9653d7ced0f6: Pull complete bd12b98793c3: Pull complete 47f6b2bc5bac: Pull complete 9f141d238019: Pull complete 602ce056b6d8: Pull complete 5e02c83b56e1: Pull complete 4fe8b167f5a3: Pull complete ea4243bd0db9: Pull complete 389b5952531d: Pull complete 56f42d775b8f: Pull complete 2dc53ec46535: Pull complete 4a4c9786a7f0: Pull complete 5125d1a6bc0c: Pull complete 332a8c2009c8: Pull complete 21bb079de5bc: Pull complete Digest: sha256:8849807ab74ee0dba54ea7db3dfa843da7d8fdaa7f6f5924a15f393149457925 Status: Downloaded newer image for papermerge/papermerge:3.0.3 WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested exec /run.bash: exec format error pi@raspberrypi:~ $
一直认为,只要保证 Docker
安装好,从Docker仓库上Pull下来的镜像,在任意机器上运行都能达到一样的效果,但是这个的前提是Docker镜像的架构和当前服务器的架构一致,以前都是
x84_64架构自然可以,但现在也有别的架构,因此 一个镜像如果只有 x86_64
架构的版本,那么是无法在 Arm 架构的服务器上运行的。