GitLab(通过 Docker)在带有 ARM CPU 的 QNAP NAS 上("exec 格式错误&qu



我刚买了一台QNAP TS-832XNAS(固件: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
[~] #

uname -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

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

根据个人经验,我发现大多数开发人员会为英特尔设备制作Docker映像,但不能在ARM设备上工作。

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

我的 QNAP 是基于英特尔的,所以我无法证实你的结果,但引用一个关于 Raspberry Pi 上 docker 的页面中的几句话:

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

TS-831X 拥有"AnnapurnaLabs,亚马逊旗下公司 Alpine AL-314 四核 1.7 GHz Cortex-A15 处理器"CPU,这是一种与树莓派非常相似的 ARM 架构。

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新