사전 활성화된 시스템 이미지를 시작할 수 없는 경우 Docker 이미지에서 서비스를 시작할 수 있는 방법이 있습니까(255)

사전 활성화된 시스템 이미지를 시작할 수 없는 경우 Docker 이미지에서 서비스를 시작할 수 있는 방법이 있습니까(255)

이것부터 서비스를 시작하고 싶습니다부분지금까지 모든 것을 시도했지만 전혀 모릅니다. 나는 루트 액세스 권한이 없는 Debian 10 VPS를 가지고 있으며 이를 수행할 수 있는 다른 방법을 찾고 있습니다.

내 VPS에서 우분투를 설치할 수 있고 사전 활성화된 시스템 이미지를 설치하는 데 문제가 없습니다. 저는 다음 이미지를 사용하고 있습니다.JREI/Systemd-debian,JREI/Systemd-우분투그리고 역할을 합니다.

하지만 이 경우에는 VPS를 아무 문제 없이 다운로드할 수 있지만 다음 명령을 사용하여 시작할 때:

JREI/Systemd-debian은 개발자 웹사이트에 다음과 같이 설명되어 있습니다:


   1. Run the container as a daemon

docker run -d --name systemd-debian --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-debian

or if it doesn't work

docker run -d --name systemd-debian --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-debian

  2.  Enter to the container

docker exec -it systemd-debian sh

  3.  Remove the container

docker rm -f systemd-debian

JREI/Systemd-ubuntu는 개발자 웹사이트에 다음과 같이 설명되어 있습니다.


    Run the container as a daemon

docker run -d --name systemd-ubuntu --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-ubuntu

or if it doesn't work

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

    Enter to the container

docker exec -it systemd-ubuntu sh

    Remove the container

docker rm -f systemd-ubuntu

하지만 이 경우 명령을 사용하면 다음과 같이 인쇄됩니다.

$ sudo docker run -d --name systemd-debian --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-debian
Unable to find image 'jrei/systemd-debian:latest' locally
latest: Pulling from jrei/systemd-debian
e756f3fdd6a3: Already exists
cc35b3a645b1: Pull complete
a2c2f4c9293b: Pull complete
16d72487363d: Pull complete
Digest: sha256:dcd311f3192a25be0ff12b2f3b283c00eb51f66e2716c498b8e5c15a35085075
Status: Downloaded newer image for jrei/systemd-debian:latest
32e100dfef82209a0e7810be37fbff837cbe1e69d718b4eb4ceba69e7161be24

아무 일도 일어나지 않았습니다. 컨테이너가 오류(255)로 인해 자동으로 종료되었습니다.

log 명령을 사용하면 다음을 볼 수 있습니다.

Failed to create /init.scope control group: Read-only file system
Failed to allocate manager object: Read-only file system
[!!!!!!] Failed to allocate manager object.
Exiting PID 1...

이 명령을 실행하기 전이나 실행할 때 사전 활성화된 시스템 이미지에 문제가 발생한 적이 없지만 이 VPS에서 이 문제가 발생하여 머리가 긁힐 정도입니다.

그런 다음 Dockerfile 만들기를 시작합니다.

FROM debian

ENV container docker
ENV DEBIAN_FRONTEND noninteractive

# Enable systemd.
RUN apt-get update ; \
    apt-get install -y systemd systemd-sysv; \
    apt-get clean ; \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ; \
    rm -rf /lib/systemd/system/multi-user.target.wants/* ; \
    rm -rf /etc/systemd/system/*.wants/* ; \
    rm -rf /lib/systemd/system/local-fs.target.wants/* ; \
    rm -rf /lib/systemd/system/sockets.target.wants/*udev* ; \
    rm -rf /lib/systemd/system/sockets.target.wants/*initctl* ; \
    rm -rf /lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup* ; \
    rm -rf /lib/systemd/system/systemd-update-utmp*

VOLUME [ "/sys/fs/cgroup" ]
CMD ["/lib/systemd/systemd"]

다음 명령을 사용하여 빌드를 시작합니다.

sudo docker build -t kastra .

그런 다음 실행하십시오.

sudo docker run  --name mintmefinal --tty   --privileged   --volume /sys/fs/cgroup:/sys/fs/cgroup:ro  kastra

이 오류가 다시 직접 발생했습니다.

##################################### LOGS ###################################
systemd 247.3-7 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
Detected virtualization docker.
Detected architecture x86-64.

Welcome to Debian GNU/Linux 11 (bullseye)!

Set hostname to <526d66e546b7>.
Failed to create /init.scope control group: Read-only file system
Failed to allocate manager object: Read-only file system
[!!!!!!] Failed to allocate manager object.
Exiting PID 1...

어쩌면 내가 하고 있는 일이 그렇게 많은 노력을 필요로 하지 않을 수도 있다는 생각이 들었지만 그냥 물어보고 싶었습니다. 어쩌면 이것이 또 다른 방법일 수도 있습니다. 모르겠습니다. 누구든지 이 문제를 알아내도록 도와주시면 정말 감사하겠습니다. 나는 미쳤다 .

systemctl 없이 이러한 서비스를 시작할 수 있는 다른 방법이 있습니까? 아니면 제가 뭔가 잘못하고 있는 것입니까?

관련 정보