我正在尝试在SystemD-NSpawn容器上运行Concourse CI,但我不能。我一直在寻找这个问题,但没有发现任何有用的东西。我将尝试解释我的工作:
- 首先,我制作一个.raw文件,其中包含我需要的所有内容(使用Mkosi)。
-
我使用此.raw文件(sudo systemd -nspawn -bi Concourse.raw -capibality = all)启动一个SystemD容器。Concourse Web和Worker服务没有问题。我将其记录到127.0.0.1:8080,然后添加我的第一个管道(Helloworld)。然后,当我运行Helloworld管道时,我会收到此错误:
runc create:退出状态1:container_linux.go:264:启动容器进程引起的" process_linux.go:261:应用cgroup配置为过程" mkdir/sys/sys/fs/cgroup/cgroup/cgroup/cgroup/cpuset/cpuset/8638cb95bbbc-bbc-bbc-471919-4509-5A1789FB100A:只读文件系统"
这是此错误的JournalCtl日志:Concourse_worker log
-
i添加-bind选项,然后重试(sudo systemd -nspawn -bi Concourse.raw -apability = all -bind =/sys/fs/fs/cgroup)。我认为添加 - 绑定选项我已修复了第一个错误,因为现在Concourse的容器能够拉Docker映像,但是我会收到其他错误:
runc create:退出状态1:container_linux.go:264:启动容器进程引起的" process_linux.go:339:container init coady caution " rootfs_linux.go:69:创建设备nodes case \ case \ dice dilector \'否此类文件或目录\" "
这是此错误的JournalCtl日志:Concourse_worker log 2
我的系统:
$ cat/etc/esjudy
ubuntu 16.04.2 lts n l
$ uname -a
linux Nikopc 4.4.0-47生成#68-ubuntu smp smp wed 10月26日19:39:52 UTC 2016 x86_64 x86_64 x86_64 x86_64 gnu/linux
$ systemctl- version
Systemd 229 PAM 审核 SELINUX IMA APPARMOR SMACK SYSVINIT UTMP LIBCRYPTSETUP GCRYPT GNEDLS GNUTLS ACL XZ -LZ4 SECCOMP SECCOMP BLKID ELFUTILS ELFUTILS KMOD -IDN -IDN -IDN
大厅容器:
cat/etc/esjudy
Ubuntu Artful Aardvark(开发分支) n l
systemctl- version
Systemd 234 PAM 审核 SELINUX IMA APPARMOR SMACK SYSVINIT utmp libCryptsetup gcrypt gcrypt gnutls acl xz xz lz4 seccomp seccomp seccomp elfutils elfutils elfutils kmod -idn2 idn default -default -hierArchy = hybrid = hybrid = hybrid = hybrid
我不知道如何解决此错误。可以在SystemD容器上运行Concourse CI吗?
谢谢。
你不能只使用docker-container吗?
理想情况下,您使用docker-compose如下所述,https://concourse-ci.org/docker-repository.html