如何运行使用最新版本Ubuntu(18.10)中的SystemD的Docker容器?

时间:2018-12-12 20:36:10

标签: docker ubuntu systemd

我试图执行使用'ubuntu:latest'构建的Docker映像,并且在运行容器时不断收到SystemD错误消息:

System has not been booted with systemd as init system (PID 1). Can't operate.

如果我尝试此solution并使用 docker run -it -e container = docker your-image-name / sbin / init 生成容器,则会出现以下错误:< / p>

Failed to mount tmpfs at /run: Operation not permitted
Failed to mount tmpfs at /run/lock: Operation not permitted
[!!!!!!] Failed to mount API filesystems, freezing.
Freezing execution.

我应该怎么做?

3 个答案:

答案 0 :(得分:1)

您可以使用其他版本(例如16.04)解决此问题:

docker run -d \
  -h ubuntu \
  --name ubuntu \
  --privileged \
  docker.io/library/ubuntu:16.04 /sbin/init

运行后,可以使用以下命令进行访问:

docker exec -it ubuntu /bin/bash

此版本使用systemd

答案 1 :(得分:1)

为了在docker内部运行ubuntu 18 systemd,您可以使用以下命令:

运行容器:

docker run -d --name stack_overflow_53750952 --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu:18.04

在容器中输入:

docker exec -it stack_overflow_53750952 bash

然后您将看到: screenshot of systemd running inside the container

答案 2 :(得分:-1)

升级到Ubuntu Bionic并尝试/sbin/init方法