VM 재시작, Docker 재시작, Container ??
도커(Docker)를 리눅스(Linux) 환경에서 사용하면
Podman 이라는 Alias 명칭을 볼 수 있다.
Podman 이 뭐냐?
Ref: https://podman.io/whatis.html
Pod + Management 대략 이런 느낌.
그냥 docker 명령어와 같은데 별칭만 바꿔서 쓰는 느낌.
느낌은 중요하니까.
기억력의 한계를 극복하기 위해서!
오늘은
podman 명령어를 통해서
VM이 재시작 될 때,
Docker Daemon 이 자동으로 떠오르고,
멈춘 Container 도 다시 동작을 시작 할 수 있는 스크립트를
만든다.
보통 리눅스에서
/etc/systemcd/system/"your_container_name".service
형태로 서비스 스크립트를 작성하고,
>> systemctl enable "your_container_name".service
>> systemctl start "your_container_name".service
이런 방식으로 작업을 수행한다.
>> systemctl daemon-reload
명령어도 잊지않고 꼬박꼬박 해준다.
간단하게 예를 들면,
이런 image가 있다.
docker.io/dvdyu/redicata:1.0.1
가져오는 방법은
>> docker pull dvdyu/redicata:1.0.1
테스트를 위해서 만든 도커 이미지라서 사용법이 굉장히 인위적인다.
>> docker run -d --name ids --net host "IMAGE ID" suricata -c "/path/to/suricata.yaml" -i eth0
이러면 돌아간다.
17분 전부터 시스템상에서 작동하기 시작했다.
이렇게만 하면...
VM 또는 물리서버를 갑작스럽게 재시작 한다던가, 꺼진다건가, 기타 등등
블랙스완(예상치 못한 충격적인 상황, 서프라이즈)이 발생하면
ids 이름의 container는 멈춘 상태를 유지하게 된다.
스크립트를 작성할 때가 왔다.
podman 홈페이지에 더 자세히 나와있다.
이렇게 만든 스크립트를 잘 저장하시고,
다시,
>> systemctl enable "your_container_name".service
>> systemctl start "your_container_name".service
다음,
>> podman top -l
결과는 그냥 docker ps 또는 docker stats -a 와 같다.
끝.