我刚刚购买了QNAP TS-832X NAS(固件:4.3.4.0695 Build 20180830)。
该计算机配有ARM CPU(Annapurna Labs Alpine AL324四核ARM Cortex-A57 CPU @ 1.70GHz)。
我购买它只是为了在其上安装GitLab,但官方映像似乎无效。
当我尝试运行该映像时,它会失败。
[~] # docker run -d --name gitlab-server --hostname build1 -p 10080:10080 -p 10022:22 -p 10443:443 -v /share/GitLab/config:/etc/gitlab -v /share/GitLab/logs:/var/log/gitlab -v /share/GitLab/data:/var/opt/gitlab --restart always gitlab/gitlab-ce:latest
[~] # docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a176158729ad gitlab/gitlab-ce:latest "/assets/wrapper" 5 seconds ago Restarting (1) 1 second ago gitlab-server
[~] # docker logs a1
standard_init_linux.go:185: exec user process caused "exec format error"
standard_init_linux.go:185: exec user process caused "exec format error"
standard_init_linux.go:185: exec user process caused "exec format error"
standard_init_linux.go:185: exec user process caused "exec format error"
standard_init_linux.go:185: exec user process caused "exec format error"
standard_init_linux.go:185: exec user process caused "exec format error"
standard_init_linux.go:185: exec user process caused "exec format error"
在搜索之后,我发现这可能是由主机体系结构引起的,因此我尝试运行ulm0/gitlab
,但结果相同。
我还尝试了其他在标签中带有“ ARM”的图像,例如arm64v8/ubuntu
。这个甚至没有提供任何日志。
[~] # docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b2b68bc912c arm64v8/ubuntu:latest "/bin/bash" 7 seconds ago Restarting (0) 1 second ago ubuntu-arm
a176158729ad gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago Restarting (1) 51 seconds ago gitlab-server
[~] # docker logs 2b
[~] #
uname -a
Linux build1 4.2.8 #2 SMP Thu Aug 30 07:33:01 CST 2018 aarch64 GNU/Linux
docker版本
Client:
Version: 17.09.1-ce
API version: 1.32
Go version: go1.8.3
Git commit: a9fd393
Built: Fri Aug 3 04:31:20 2018
OS/Arch: linux/arm64
Server:
Version: 17.09.1-ce
API version: 1.32 (minimum version 1.12)
Go version: go1.8.3
Git commit: a9fd393
Built: Fri Aug 3 04:31:20 2018
OS/Arch: linux/arm64
Experimental: false
答案 0 :(得分:0)
很抱歉得知您的问题,很遗憾,我不认为ARM设备有任何官方GitLab Docker image
。
根据个人经验,我发现大多数开发人员都会为Intel设备制作Docker映像,但不能在ARM设备上工作。
已经在QNAP Forums上讨论了该主题:
我的QNAP基于Intel,因此我无法证实您的结果,但是引用了有关Raspberry Pi上的docker页面的几句话:
“您使用的基于Docker的应用程序必须专门针对ARM体系结构打包!针对x86 / x64打包的基于Docker的应用程序将无法正常工作,并会导致以下错误: FATA [0003]来自守护程序的错误响应:无法启动容器0f0fa3f8e510e53908e6a459e817d600b9649e621e7dede974d6a65761ad39e5:执行格式错误 在Docker Hub上搜索应用程序时,请记住这一点-Docker应用程序/映像的源。如果您在标题或说明中看到关键字RPI或ARM,则该应用程序通常可用于Raspberry Pi。”
TS-831X具有一个“ AnnapurnaLabs,这是亚马逊公司的Alpine AL-314四核1.7 GHz Cortex-A15处理器” CPU,它是一种类似于Raspberry Pi的ARM架构。
因此,我怀疑您可能会限制您可以访问的Docker映像,并且除非应用程序的官方/规范维护人员也进行ARM构建,否则您可能会固执己见或信任第三方爱好者为此...
我不想这么说,但我想你应该选择一个英特尔公司。
我有一个QNAP TS-251 +(基于Intel),在RAID配置中具有8GB RAM和2x8TB,除了运行PLEX并将其用作Web服务器之外,它还非常适合我的Gitlab实例。
我还建议您何时最终启动并运行该卷,以将卷映射到易于访问的目录,以便轻松进行配置更改。