루트가 아닌 사용자에게 docker를 실행하려고 하는데 제대로 작동하지 않는 것 같습니다 systemctl
.
저는 데비안 11을 사용합니다. 루트 권한이 있는 사용자를 로그인하기 위해 키 쌍을 사용하고, 권한이 있는 사용자를 통하지 않는 다른 계정에서의 로그인은 비활성화됩니다.
루트 없는 도커 설정 튜토리얼을 따른 후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 서비스를 올바르게 활성화하는 방법이 있습니까?