如何在 chroot 中运行 docker

jon*_*789 5 linux debian chroot arm docker

我在 chroot 环境中的 arm64 android 手机中安装了 debian stretch。我已经按照这里的这些步骤安装了 docker-ce 。

在启动泊坞窗时:: systemctl start docker

返回此错误:: Running in chroot, ignoring request.

使用service docker status节目 检查[FAIL] Docker is not running ... failed!

如果我运行 using dockerd,它会显示此错误::

INFO[2018-02-05T22:15:35.631735524+05:30] libcontainerd: started new docker-containerd process  pid=23047
INFO[0000] starting containerd                           module=containerd revision=89623f28b87a6004d4b785663257362d1658a729 version=v1.0.0
INFO[0000] setting subreaper...                          module=containerd
INFO[0000] changing OOM score to -500                    module=containerd
INFO[0000] loading plugin "io.containerd.content.v1.content"...  module=containerd type=io.containerd.content.v1
INFO[0000] loading plugin "io.containerd.snapshotter.v1.btrfs"...  module=containerd type=io.containerd.snapshotter.v1
WARN[0000] failed to load plugin io.containerd.snapshotter.v1.btrfs  error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs must be a btrfs filesystem to be used with the btrfs snapshotter" module=containerd
INFO[0000] loading plugin "io.containerd.snapshotter.v1.overlayfs"...  module=containerd type=io.containerd.snapshotter.v1
INFO[0000] loading plugin "io.containerd.metadata.v1.bolt"...  module=containerd type=io.containerd.metadata.v1
WARN[0000] could not use snapshotter btrfs in metadata plugin  error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs must be a btrfs filesystem to be used with the btrfs snapshotter" module="containerd/io.containerd.metadata.v1.bolt"
INFO[0000] loading plugin "io.containerd.differ.v1.walking"...  module=containerd type=io.containerd.differ.v1
INFO[0000] loading plugin "io.containerd.gc.v1.scheduler"...  module=containerd type=io.containerd.gc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.containers"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.content"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.diff"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.events"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.healthcheck"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.images"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.leases"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.namespaces"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.snapshots"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.monitor.v1.cgroups"...  module=containerd type=io.containerd.monitor.v1
INFO[0000] loading plugin "io.containerd.runtime.v1.linux"...  module=containerd type=io.containerd.runtime.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.tasks"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.version"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] loading plugin "io.containerd.grpc.v1.introspection"...  module=containerd type=io.containerd.grpc.v1
INFO[0000] serving...                                    address="/var/run/docker/containerd/docker-containerd-debug.sock" module="containerd/debug"
INFO[0000] serving...                                    address="/var/run/docker/containerd/docker-containerd.sock" module="containerd/grpc"
INFO[0000] containerd successfully booted in 0.032191s   module=containerd
ERRO[2018-02-05T22:15:35.833079554+05:30] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded.
ERRO[2018-02-05T22:15:35.846402107+05:30] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded.
ERRO[2018-02-05T22:15:35.850080389+05:30] devmapper: Udev sync is not supported. This will lead to data loss and unexpected behavior. Install a more recent version of libdevmapper or select a different storage driver. For more information, see https://docs.docker.com/engine/reference/commandline/dockerd/#storage-driver-options
INFO[2018-02-05T22:15:35.887075601+05:30] Graph migration to content-addressability took 0.00 seconds
WARN[2018-02-05T22:15:35.889037268+05:30] Your kernel does not support cgroup memory limit
WARN[2018-02-05T22:15:35.889872633+05:30] Your kernel does not support cgroup cfs period
WARN[2018-02-05T22:15:35.890405497+05:30] Your kernel does not support cgroup cfs quotas
WARN[2018-02-05T22:15:35.891107633+05:30] Unable to find blkio cgroup in mounts
WARN[2018-02-05T22:15:35.891733726+05:30] mountpoint for pids not found
Error starting daemon: Devices cgroup isn't mounted
Run Code Online (Sandbox Code Playgroud)

如何在我的 android 手机上的 chroot 中运行它?

小智 1

您无法启动 docker,因为在 chroot 中运行时,系统未完全启动。管理服务的进程未运行,因此systemctl命令会忽略您的启动请求。

我建议您直接启动 docker daemon:dockerd [arguments]。您还可以使用流程管理器,例如supervisord.