1

我刚买了一台 QNAP TS-832X NAS(固件:4.3.4.0695 Build 20180830)。

本机配备 ARM CPU(Annapurna Labs Alpine AL324 Quad-core 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
[~] #

unname -a

Linux build1 4.2.8 #2 SMP Thu Aug 30 07:33:01 CST 2018 aarch64 GNU/Linux

码头工人版本

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
4

1 回答 1

0

很抱歉听到您的问题,不幸的是我不相信GitLab Docker imageARM 设备有任何官方。

根据个人经验,我发现大多数开发人员会为 Intel 设备制作 Docker 映像,但不适用于 ARM 设备。

这个话题已经在QNAP 论坛上讨论过:

我的 QNAP 是基于 Intel 的,所以我无法证实您的结果,但引用 Raspberry Pi 上有关 docker 的页面中的几句话:

“您使用的基于 Docker 的应用程序必须专门为 ARM 架构打包!为 x86/x64 打包的基于 Docker 的应用程序将无法运行,并会导致错误,例如:FATA[0003] 来自守护进程的错误响应:无法启动容器 0f0fa3f8e510e53908e6a459e817d600b9649e621e7dede974d6a65761ad39e5 : exec format error 在 Docker Hub 上搜索应用程序时请记住这一点 - Docker 应用程序/图像的来源。如果您在标题或描述中看到关键字 RPI 或 ARM,则此应用程序通常可用于 Raspberry Pi。 "

TS-831​​X 有一个“AnnapurnaLabs,亚马逊公司的 Alpine AL-314 四核 1.7 GHz Cortex-A15 处理器”CPU,它是一个 ARM 架构,很像树莓派。

因此,我怀疑您可能会受限于您可以访问的 Docker 映像,除非应用程序的官方/规范维护者也进行 ARM 构建,否则您可能会陷入自己的困境或信任第三方爱好者这样做...

我不想这么说,但我想说你应该选择英特尔的。

我有一个 QNAP TS-251+(基于 Intel),在 RAID 配置中具有 8GB RAM 和 2x8TB,除了运行 PLEX 并将其用作 Web 服务器之外,这非常适合我的 Gitlab 实例。

我还建议您最终启动并运行它时将卷映射到易于访问的目录,以便您可以轻松地进行配置更改。

于 2018-09-21T07:37:02.387 回答