在 docker 容器的源中附加行时构建失败

Build failed while appending line in source of docker container

我正在 https://github.com/audip/rpi-haproxy 上工作,在构建 docker 容器时收到此错误消息:

Build failed: The command '/bin/sh -c echo "deb http://httpredir.debian.org/debian jessie-backports main" >> /etc/apt/sources.list' returned a non-zero code: 1

可以在 https://hub.docker.com/r/audip/rpi-haproxy/builds/brxdkayq3g45jjhppndcwnb/

查看

我试图找到答案,但问题似乎出在 Dockerfile 的第 4 行上。需要帮助修复此构建失败。

# Pull base image.
FROM resin/rpi-raspbian:latest

# Enable Jessie backports
RUN echo "deb http://httpredir.debian.org/debian jessie-backports main" >> /etc/apt/sources.list

# Setup GPG keys
RUN gpg --keyserver pgpkeys.mit.edu --recv-key  8B48AD6246925553 \     
    && gpg -a --export 8B48AD6246925553 | sudo apt-key add - \
    && gpg --keyserver pgpkeys.mit.edu --recv-key  7638D0442B90D010 \  
    && gpg -a --export 7638D0442B90D010 | sudo apt-key add -

# Install HAProxy      
RUN apt-get update \
    && apt-get install haproxy -t jessie-backports

# Define working directory.
WORKDIR /usr/local/etc/haproxy/

# Copy config file to container
COPY haproxy.cfg .
COPY start.bash .

# Define mountable directories.
VOLUME ["/haproxy-override"]

# Run loadbalancer
# CMD ["haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg"]

# Define default command.
CMD ["bash", "start.bash"]

# Expose ports.
EXPOSE 80
EXPOSE 443

来自您的日志:

standard_init_linux.go:178: exec user process caused "exec format error"

它抱怨二进制格式无效。您使用的图像是 Raspberry Pi 图像,它基于 ARM 芯片组。您的构建 运行 在 AMD64 芯片组上。这些不是二进制兼容的。我相信这个图像是为构建在 Pi 本身上而设计的。