![systemd를 사용하는 Linux 컨테이너 초기화 스크립트](https://linux55.com/image/224986/systemd%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20Linux%20%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88%20%EC%B4%88%EA%B8%B0%ED%99%94%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8.png)
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 설정과 같은 컨테이너 서비스를 설정하는 명령입니다.