rootless docker systemctl 守护进程错误

rootless docker systemctl 守护进程错误

我正在尝试在无根用户上运行 docker,但我似乎无法使用systemctl.

我使用 Debian 11。要以 root 权限登录用户,我使用密钥对,并且除了通过特权用户之外的任何其他帐户登录均被禁用。

在遵循设置无根docker的教程之后https://statswork.wiki/engine/security/rootless/我得到这个输出:

[INFO] systemd not detected, dockerd-rootless.sh needs to be started manually:

PATH=/home/docker-user/bin:/sbin:/usr/sbin:$PATH dockerd-rootless.sh

[INFO] Creating CLI context "rootless"
Successfully created context "rootless"

[INFO] Make sure the following environment variables are set (or add them to ~/.bashrc):

# WARNING: systemd not found. You have to remove XDG_RUNTIME_DIR manually on every logout.
export XDG_RUNTIME_DIR=/home/docker-user/.docker/run
export PATH=/home/docker-user/bin:$PATH
export DOCKER_HOST=unix:///home/docker-user/.docker/run/docker.sock

我这样设置变量并在运行 systemctl --user 时收到以下错误

Failed to connect to bus: No such file or directory

我找到了这个线程:未检测到 systemd,需要手动启动 dockerd 守护进程,之后我成功为用户启用了延迟并设置了XDG_RUNTIME_DIR=/run/user/$UID

systemctl --user按预期工作,但突然出现问题systemctl --user start docker

Failed to start docker.service: Unit docker.service not found.

我怀疑这是一个问题,因为该XDG_RUNTIME_DIR变量未设置为/home/docker-user/.docker/run。唉,我不能这样设置,因为systemctl --user根本不起作用,所以我被困在这里。我无法登录用户,pam_systemd因为正如我上面提到的,不允许 ssh 登录其他用户。我尝试重新安装rootless docker,但出现同样的错误。

有什么办法可以正确启用docker服务吗?

相关内容