我的 Docker 文件是https://hub.docker.com/r/songkong/songkong/~/dockerfile/上的 song/songkong
FROM openjdk:8-jre-alpine
RUN apk --no-cache add \
ca-certificates \
curl \
fontconfig \
msttcorefonts-installer \
tini \
&& update-ms-fonts \
&& fc-cache -f
RUN mkdir -p /opt \
&& curl http://www.jthink.net/songkong/downloads/current/songkong-linux-headless-novm.tgz?val=77 | tar -C /opt -xzf - \
&& find /opt/songkong -perm /u+x -type f -print0 | xargs -0 chmod a+x
RUN addgroup -S songkong \
&& adduser -S -G songkong songkong
USER songkong:songkong
EXPOSE 4567
ENTRYPOINT ["/sbin/tini"]
# Config, License, Logs, Reports and Internal Database
VOLUME /songkong
# Music folder should be mounted here
VOLUME /music
WORKDIR /opt/songkong
CMD /opt/songkong/songkongremote8.sh
它适用于 Synology DS218+ Disk Station (Intel)
我购买了 Qnap TS-131P 来测试 Qnap,同时也确认它可以与 Arm 处理器一起使用,因为 Qnap 在 Arm 处理器上支持 Docker,而 Synology 不支持。
当我尝试从图像启动 Container 时出现错误
standard_init_linux.go:185: exec user process caused "exec format error
这个链接让我觉得问题出在手臂处理器上。
但我很困惑,因为我认为 Docker 的全部意义在于隐藏这些系统特定的细节,如何(我可以)修复我的 Docker 文件以便它在 Qnap 上工作。