我试图在systemd nspawn容器上运行concourse CI,但我不能。
我一直在寻找这个问题,我没有发现任何有用的东西。我会尽力解释我所做的:
首先,我创建一个.raw文件,其中包含我需要的所有内容(使用mkosi)。
我使用这个.raw文件启动一个systemd容器(sudo systemd nspawn-bi concourse.raw--capability=all)。concourse web和worker服务启动时没有问题。我登录到127.0.0.1:8080并添加第一个管道(HelloWorld)。然后,当我运行HelloWorld管道时,会出现以下错误:
RUNC创建:退出状态1:CuleBuxLinux。Go:264:启动容器进程,导致“PurthyLinux。Go: 261:应用CGROUP配置用于进程引起的”MKDIR/sys /FS/CGROUP/CPUSET/8638 CB95-BBC-419-45095A1789FB100A:只读文件系统“”
以下是此错误的日志:concourse_worker log
我添加了-bind选项并重试(sudo systemd nspawn-bi concourse.raw--capability=all--bind=/sys/fs/cgroup)。我认为添加--bind选项修复了第一个错误,因为现在concourse的容器能够提取docker图像,但是我得到了其他错误:
RUNC CREATE:Exchange状态1:CuuleRuxLinux .Go:264:启动容器进程,导致“PurrasyLinux。Go:339:容器init引起的”RoofsfLinux。Go:69:创建导致“没有这样的文件或目录\”的设备节点。
以下是此错误的日志:concourse_worker log 2
我的系统:
$cat/etc/问题
Ubuntu 16.04.2 LTS\n\l
$uname-甲
Linux nikoPC 4.4.0-47-generic#68 Ubuntu SMP周三10月26日19:39:52 UTC 2016 x86 x86 x86 x86 GNU/Linux
$systemctl—版本
系统D 229
+ PAM+审计+SELIXU+IMA+EMAPMOR+SyC++SysViT+UTMP+LIPCuthtSt+GCRIPPT+GLUTLS+ACL+XZ-LZ4+SECOMPP+BLPHOD+EFUTILLS+KMOD-IDN
大堂集装箱:
cat/etc/问题
Ubuntu Artful Aardvark(开发分支)\n\l
systemctl—版本
系统234
+ PAM+审计+SEMIX+IMA+EMAS+SycViT+UTMP+LIKCUTSTATE+GCRUPTP+GLUTLS+ACL+XZ+LZ4+SECOMPL+BLPHID+EFUTILLS+KMOD-IDN2+IDN缺省层次=混合式
我不知道如何解决这个错误。是否可以在systemd容器上运行concourse CI?
谢谢。

最佳答案

你就不能用码头集装箱吗?
理想情况下,您使用docker compose,如下所述https://concourse-ci.org/docker-repository.html

10-08 04:12