systemd를 사용하는 Linux 컨테이너 초기화 스크립트

systemd를 사용하는 Linux 컨테이너 초기화 스크립트

systemd-nspawn 컨테이너용 템플릿 파일 시스템을 만들려고 합니다. 컨테이너 파일 시스템은 btrfs 스냅샷을 통해 이 템플릿에서 복제됩니다. 컨테이너가 처음 시작될 때 init 스크립트를 실행하려면 컨테이너가 필요합니다. 많은 문서를 읽은 후 다음과 같은 systemd 단위를 작성했습니다.

/etc/systemd/system/init-script.service

[Unit]
Description=Init script
Wants=network-online.target first-boot-complete.target
After=network-online.target
Before=first-boot-complete.target
ConditionFirstBoot=yes

[Service]
Type=oneshot
ExecStart=/root/init-script.sh

하지만 저는 여전히 systemd 시작 프로세스를 잘 이해하지 못하고 어떤 systemd 대상이 내 init-script.service를 가져와야 하는지 잘 모르겠습니다.

내가 사용해야 할까?

[Unit]
DefaultDependencies=no

[Install]
WantedBy=sysinit.target

또는

[Install]
WantedBy=multi-user.target

초기화 스크립트의 내용은 Apache 역방향 프록시 또는 Postfix 설정과 같은 컨테이너 서비스를 설정하는 명령입니다.

관련 정보