brunch

You can make anything
by writing

C.S.Lewis

by 유윤식 Jun 16. 2019

Docker for 자동(재)시작

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 와 같다.


끝.

작가의 이전글 Elasticsearch: Active shard
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari