社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

带ARM CPU的Qnap NAS上的Gitlab(通过Docker)(“执行格式错误”)。

Jan J • 6 年前 • 1402 次点击  

我刚买了一个小睡 TS-832X型 NAS(固件:4.3.4.0695内部版本20180830)。

这台机器配有ARM CPU(安纳普纳实验室阿尔卑斯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 但结果相同。

我还试过其他标签上有“手臂”的图片,比如 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
[~] #

找到对应内核版本

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
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38084
文章 [ 1 ]  |  最新文章 6 年前
Popeye
Reply   •   1 楼
Popeye    7 年前

很抱歉听到你的问题,不幸的是我不相信有任何官员 GitLab Docker image 用于ARM设备。

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

本主题已在 QNAP Forums 已经:

我的qnap是基于Intel的,因此我无法证实您的结果,但引用了一页关于Raspberry Pi上Docker的几句话:

“您使用的基于Docker的应用程序必须专门打包用于ARM架构!为x86/x64打包的基于Docker的应用程序将无法工作,并将导致以下错误: 来自守护进程的fata[0003]错误响应:无法启动容器0f0fa3f8e510e53908e6a459e817d60b9649e621e7ede974d6a5761ad39e5:执行格式错误 在Docker Hub(Docker应用程序/图像的来源)上搜索应用程序时,请记住这一点。如果在标题或描述中看到关键字rpi或arm,则此应用程序通常可用于覆盆子pi。”

TS-831X有一个“AnnapurnalAbs,一个亚马逊公司Alpineal-314四核1.7GHz Cortex-A15处理器”CPU,这是一个ARM架构,很像覆盆子PI。

所以,我怀疑你可能在Docker图片中受到限制,除非应用程序的官方/规范维护者也进行了ARM构建,否则你可能会陷入滚动自己或信任第三方爱好者这样做的困境…

我不想这么说,但我想说你应该换一个英特尔的。

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

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