카테고리 없음

podman container 자동실행

totoku103 2019. 12. 27. 17:37
반응형

Docker와 다르게 Container 옵션을 통해 "다시 실행" 정책을 지정해 줄 수 없다. Podman은 컨테이너 시작 순서, 종속성 확인 또는 컨테이너 복구를 직접적으로 관여하지 않게 설계되있다고 한다.

공홈에선 자동실행을 하려면 Systemd와 같은 서비스에 등록해서 사용하라고 한다.

container를 받고 실행 하는 순서까지는 생략한다. /etc/systemd/system/{containername}.service의 파일을 생성한다.

다행이 service 파일의 내용을 생성해주는 generator를 제공해준다.

아래와 같이 입력하면,

#podman generate systemd --name <container.name>

아래와 같이 출력을 해준다.

# container-<container.name>.service
# autogenerated by Podman 1.6.4
# Mon Aug 17 21:47:59 KST 2020

[Unit]
Description=Podman container-<container.name>.service
Documentation=man:podman-generate-systemd(1)

[Service]
Restart=on-failure
ExecStart=/usr/bin/podman start <container.name>
ExecStop=/usr/bin/podman stop -t 10 <container.name>
KillMode=none
Type=forking
PIDFile=/var/run/containers/storage/overlay-containers/353655aaeddb7feweertder9tydy1ertef390318cdf87359c8f450c19391fe8a2/userdata/conmon.pid

[Install]
WantedBy=multi-user.target

위 내용을 생성한 service 파일에 입력해준다.

#sudo systemctl enable <container.name>

enable을 통해 서비스를 등록하고,

#sudo systemctl start|stop <container.name>

start|stop을 이용해 서비스 실행, 정지를 하면 된다.

반응형