我的 Docker 文件在 song/songkong,位于 https://hub.docker.com/r/songkong/songkong/~/dockerfile/
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+磁盘站(Intel)很好地配合使用。
我购买了一个Qnap TS-131P来测试Qnap,但也是为了确认它可以在Arm处理器上工作,因为Qnap支持Arm处理器上的Docker,而Synology则不支持。
当我尝试从镜像启动容器时,出现错误。
standard_init_linux.go:185: exec user process caused "exec format error
而此链接让我想到问题是由于ARM处理器造成的。
但我很困惑,因为我认为Docker的整个目的就是隐藏这些特定于系统的细节,如何(可以)修复我的Docker文件,使其在QNAP上运行。