Docker 컨테이너의 systemd "설치 네임스페이스를 설정할 수 없습니다"

Docker 컨테이너의 systemd "설치 네임스페이스를 설정할 수 없습니다"

저는 최근 Debianstretch에서 Debianbuster로 내부적으로 systemd를 사용하는 Docker를 업데이트했습니다.
그 이후로는 작동하지 않습니다.

따라서 systemctl status네임스페이스를 이에 따라 설정할 수 없습니다.

Dec 10 14:22:11 f6f3e33e6bf2 systemd[1]: Starting OpenVPN tunnel for apu__ssl_vpn_config...
Dec 10 14:22:11 f6f3e33e6bf2 systemd[1736]: openvpn-client@apu__ssl_vpn_config.service: Failed to set up mount namespacing: Permission denied
Dec 10 14:22:11 f6f3e33e6bf2 systemd[1736]: openvpn-client@apu__ssl_vpn_config.service: Failed at step NAMESPACE spawning /usr/sbin/openvpn: Permission denied
Dec 10 14:22:11 f6f3e33e6bf2 systemd[1]: openvpn-client@apu__ssl_vpn_config.service: Main process exited, code=exited, status=226/NAMESPACE
Dec 10 14:22:11 f6f3e33e6bf2 systemd[1]: openvpn-client@apu__ssl_vpn_config.service: Failed with result 'exit-code'.
Dec 10 14:22:11 f6f3e33e6bf2 systemd[1]: Failed to start OpenVPN tunnel for apu__ssl_vpn_config.

이제 elasticsearch와 비슷한 문제가 발생했으며 내 단위 구성에 다음 내용이 포함된 줄을 추가하여 문제를 해결했습니다.

[Service]
PrivateTmp=false
NoNewPrivileges=yes

하지만 아쉽게도 이번에는 문제가 해결되지 않았습니다.

또한 LXC(또는 LXD?)를 사용할 때 이 문제가 발생한다는 것을 발견했습니다. 하지만 docker를 사용하여 이 문제를 해결하는 방법을 모르겠습니다.

또한 다음과 같이 컨테이너를 시작합니다.

docker run -dt \
    --tmpfs /run --tmpfs /tmp \
    --volume /sys/fs/cgroup:/sys/fs/cgroup:ro \
    --device=/dev/net/tun \
    --cap-add SYS_ADMIN \
    --cap-add NET_ADMIN \
    <container>

어떤 조언이라도 대단히 감사하겠습니다.

답변1

다음과 같이 특권 모드에서 컨테이너를 실행해야 한다는 것이 밝혀졌습니다. (
또한 CAP_SYS_ADMIN필요하지 않음)

docker run -dt \
    --tmpfs /run --tmpfs /tmp \
    --volume /sys/fs/cgroup:/sys/fs/cgroup:ro \
    --device=/dev/net/tun \
    --cap-add NET_ADMIN \
    --privileged \
    <container>

관련 정보