无法使用GitHub操作生成Docker映像

无法使用GitHub操作生成Docker映像,docker,continuous-integration,dockerfile,github-actions,Docker,Continuous Integration,Dockerfile,Github Actions,我目前正在尝试使用GitHub Actions CI构建Docker映像。我可以在我的机器和其他多个x86_64体系结构上成功构建它,我相信GitHub操作也可以运行,但在构建时,我遇到以下问题: standard_init_linux.go:219: exec user process caused: exec format error The command '/bin/sh -c apt-get update && apt-get install -y build-esse

我目前正在尝试使用GitHub Actions CI构建Docker映像。我可以在我的机器和其他多个x86_64体系结构上成功构建它,我相信GitHub操作也可以运行,但在构建时,我遇到以下问题:

standard_init_linux.go:219: exec user process caused: exec format error
The command '/bin/sh -c apt-get update && apt-get install -y build-essential psmisc ifupdown omxplayer x11-xserver-utils xserver-xorg libraspberrypi0 libraspberrypi-dev raspberrypi-kernel-headers cec-utils libpng12-dev git-core wget --no-install-recommends && apt-get clean && rm -rf /var/lib/apt/*' returned a non-zero code: 1
我在这里搜索了多个其他线程,但没有找到任何有用的东西,我也不太确定还有什么可以尝试。任何帮助或建议都将不胜感激

相关文件:


您的基本映像对于amd64无效:

$ docker image inspect balenalib/raspberry-pi-debian-node:latest-jessie
...
        "Architecture": "amd64", 
...                              

$ docker run -it --rm balenalib/raspberry-pi-debian-node:latest-jessie /bin/bash
...
root@2eb37d8359ed:/# dpkg --print-architecture
armhf
如果没有配置qemu的binfmt_misc为其他平台运行二进制文件,则该基本映像将无法在系统上运行

实际上,它根本不是一个多平台基本映像,而是仅设计用于在具有qemu设置的系统上运行注意:媒体类型是清单,而不是清单列表:

$ regctl image manifest --list balenalib/raspberry-pi-debian-node:latest-jessie                                                                                                                                                                                                 
{                                                                                                                                                                                                                                                                               
  "schemaVersion": 2,                                                                                                                                                                                                                                                           
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                                                                                                                                                                                                          
  "config": {                                                                                                                                                                                                                                                                   
    "mediaType": "application/vnd.docker.container.image.v1+json",                                                                                                                                                                                                              
    "size": 11726,                                                                                                                                                                                                                                                              
    "digest": "sha256:5ec0839ecb046f260ad72751d0c4b08c7a085b147a519619e5a54876643a3231"                                                                                                                                                                                         
  },                                                                                                                                                                                                                                                                            
  "layers": [                                                                                                                                                                                                                                                                   
    {                                                                                                                                                                                                                                                                           
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                                                                                                                                                                                         
      "size": 40222636,                                                                                                                                                                                                                                                         
      "digest": "sha256:d84b7435af12678c551b7489227b74c994981386b5bc4875ec512e11f28249c5"                                                                                                                                                                                       
    },
映像配置有更多指向qemu的指针:

$ regctl image inspect balenalib/raspberry-pi-debian-node:latest-jessie            
{                                                                                                                              
  "created": "2019-05-02T22:50:58.241895826Z",                         
  "architecture": "amd64",                                           
  "os": "linux",                                                                         
  "config": {                                                                                                                                                                                                                                                                   
    "Env": [                                                                                                                                                                                                                                                                    
      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",                                                                                                                                                                                                      
      "LC_ALL=C.UTF-8",                                                                                                                                                                                                                                                        
      "DEBIAN_FRONTEND=noninteractive",                                                        
      "UDEV=off",               
      "QEMU_CPU=arm1176",                                            
      "NODE_VERSION=11.14.0",                                                                                                                                                                                                                                                   
      "YARN_VERSION=1.12.3"                                                                                                                                                                                                                                                     
    ],    
如果没有qemu的binfmt misc设置,这将无法在主机上工作。要在github操作中进行构建,可以使用:


您的基本映像对于amd64无效:

$ docker image inspect balenalib/raspberry-pi-debian-node:latest-jessie
...
        "Architecture": "amd64", 
...                              

$ docker run -it --rm balenalib/raspberry-pi-debian-node:latest-jessie /bin/bash
...
root@2eb37d8359ed:/# dpkg --print-architecture
armhf
如果没有配置qemu的binfmt_misc为其他平台运行二进制文件,则该基本映像将无法在系统上运行

实际上,它根本不是一个多平台基本映像,而是仅设计用于在具有qemu设置的系统上运行注意:媒体类型是清单,而不是清单列表:

$ regctl image manifest --list balenalib/raspberry-pi-debian-node:latest-jessie                                                                                                                                                                                                 
{                                                                                                                                                                                                                                                                               
  "schemaVersion": 2,                                                                                                                                                                                                                                                           
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",                                                                                                                                                                                                          
  "config": {                                                                                                                                                                                                                                                                   
    "mediaType": "application/vnd.docker.container.image.v1+json",                                                                                                                                                                                                              
    "size": 11726,                                                                                                                                                                                                                                                              
    "digest": "sha256:5ec0839ecb046f260ad72751d0c4b08c7a085b147a519619e5a54876643a3231"                                                                                                                                                                                         
  },                                                                                                                                                                                                                                                                            
  "layers": [                                                                                                                                                                                                                                                                   
    {                                                                                                                                                                                                                                                                           
      "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",                                                                                                                                                                                                         
      "size": 40222636,                                                                                                                                                                                                                                                         
      "digest": "sha256:d84b7435af12678c551b7489227b74c994981386b5bc4875ec512e11f28249c5"                                                                                                                                                                                       
    },
映像配置有更多指向qemu的指针:

$ regctl image inspect balenalib/raspberry-pi-debian-node:latest-jessie            
{                                                                                                                              
  "created": "2019-05-02T22:50:58.241895826Z",                         
  "architecture": "amd64",                                           
  "os": "linux",                                                                         
  "config": {                                                                                                                                                                                                                                                                   
    "Env": [                                                                                                                                                                                                                                                                    
      "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",                                                                                                                                                                                                      
      "LC_ALL=C.UTF-8",                                                                                                                                                                                                                                                        
      "DEBIAN_FRONTEND=noninteractive",                                                        
      "UDEV=off",               
      "QEMU_CPU=arm1176",                                            
      "NODE_VERSION=11.14.0",                                                                                                                                                                                                                                                   
      "YARN_VERSION=1.12.3"                                                                                                                                                                                                                                                     
    ],    
如果没有qemu的binfmt misc设置,这将无法在主机上工作。要在github操作中进行构建,可以使用: