zfile-dev/zfile

捐赠版4.1.6,docker启动失败

Andy045 opened this issue · 7 comments

环境信息

  • ZFile 版本:4.1.6 Pro
  • 部署方式:Docker
  • 操作系统/设备:Linux
  • 浏览器/版本号:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

复现步骤

docker pull --platform=linux/arm64 zhaojun1998/zfile-pro:4.1.6

......

docker run -d --name=zfile --restart=always
-p 8080:8080
-v /home/zfile/db:/root/.zfile-v4/db
-v /home/zfile/logs:/root/.zfile-v4/logs
-v /home/zfile/file:/data/file
-v /home/zfile/application.properties:/root/application.properties
zhaojun1998/zfile-pro:4.1.6

docker logs --tail -f 100 zfile

/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error
/bin/sh: 1: /root/zfile-launch: Exec format error

预期结果

容器启动正常

实际结果

容器启动报错,一直在尝试自动重启

额外信息

主机(虚拟机)信息:
uname -a:Linux localhost.localdomain 5.11.12-300.el8.aarch64 #1 SMP Fri Jul 30 12:03:15 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
cat /etc/redhat-release:CentOS Stream release 8

宿主机信息:MacBook Pro (Apple M2 Pro) macos:14.3.1 (23D60)
Darwin bogon 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:31:00 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T6020 arm64

我是 M1 Pro,启动是正常的,我没有指定 --platform=linux/arm64 ,而是让他自适应找对应的架构版本。(apple 芯片系列电脑应该有对 amd64 架构自动转译的功能)

➜ ~ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zhaojun1998/zfile-pro latest 207c2f84cfd1 9 months ago 352MB

如果你拉取过,需要删除之前拉取的镜像,重新拉取,可以对比 IMAGE ID 来确认是否是最新的。

嗯 我再试试。其实我是在mac的pd虚拟机里的centos steam 8系统运行的docker 容器。我先试试mac本机上是否正常

mac系统 docker run 也是启动失败
CleanShot 2024-03-08 at 22 22 30@2x

奇怪 难道和我最近系统升级有关?最近是升级了一次mac系统,这是我的系统版本号
CleanShot 2024-03-08 at 22 23 28@2x

mac系统升级后 以前还是可以docker run成功的,现在得把这句配置移除了:
"exec-opts": ["native.cgroupdriver=systemd"]

移除后 mac 宿主机中 容器创建启动成功了。Finish! Thx~

我用的是 OrbStack 装的 docker,你这个解决过程我也会加到文档中,此 issue 先关闭了。