linux - 可以在 systemd 容器上运行 concourse CI 吗?

标签 linux concourse systemd-nspawn

我正在尝试在 systemd-nspawn 容器上运行 concourse CI,但我做不到。 我一直在寻找这个问题,但没有找到任何有用的信息。我将尝试解释我的工作:

  1. 首先,我制作了一个 .raw 文件,其中包含我需要的所有内容(使用 mkosi)。
  2. 我使用这个 .raw 文件启动了一个 systemd 容器 (sudo systemd-nspawn -bi concourse.raw --capability=all)。大厅网络和工作人员服务启动没有问题。我登录到 127.0.0.1:8080 并添加我的第一个管道 (HelloWorld)。然后,当我运行 HelloWorld 管道时,出现此错误:

    runc create: exit status 1: container_linux.go:264: 启动容器进程导致“process_linux.go:261: applying cgroup configuration for process caused\”mkdir/sys/fs/cgroup/cpuset/8638cb95-bbbc-4719 -4509-5a1789fb100a: 只读文件系统\""

这是此错误的 journalctl 日志:concourse_worker log

  1. 我添加 -bind 选项并重试 (sudo systemd-nspawn -bi concourse.raw --capability=all --bind=/sys/fs/cgroup)。我认为添加 --bind 选项我修复了第一个错误,因为现在 concourse 的容器能够拉取 docker 镜像,但我得到其他错误:

    runc create: exit status 1: container_linux.go:264: starting container process caused "process_linux.go:339: container init caused\"rootfs_linux.go:69: creating device nodes caused\\"没有这样的文件或目录\\"\""

这是此错误的 journalctl 日志:concourse_worker log 2

我的系统:

$ cat/etc/问题

Ubuntu 16.04.2 LTS\n\l

$ uname -a

Linux nikoPC 4.4.0-47-generic#68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ systemctl --version

系统 229 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN

大厅容器:

cat/etc/问题

Ubuntu Artful Aardvark(开发分支)\n\l

systemctl --版本

系统 234 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid

我不知道如何解决这个错误。可以在 systemd 容器上运行 concourse CI 吗?

谢谢。

最佳答案

你不能只使用 docker-container 吗?

理想情况下,您可以按照此处所述使用 docker-compose https://concourse-ci.org/docker-repository.html

关于linux - 可以在 systemd 容器上运行 concourse CI 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46443256/

相关文章:

linux - 重启后使 iptables 规则保持不变

linux - iPhone 失败的 dnsmasq

linux - 如何让 Concourse Linux 机器读取可执行文件? (chmod 样式)

concourse - `serial:true` 用于大厅的目的

amazon-web-services - 配置Concourse CI以使用AWS Secrets Manager

mongodb - mongo - cli 因 Failed to mlock : Cannot allocate locked memory 而下降

linux - 重新启动 yocto 系统时,所有文件都会恢复到以前的版本

java - unix中java命令的含义