docker run --restart=unless-stopped
(※ https://docs.docker.com/config/containers/start-containers-automatically/#use-a-restart-policy)
아래 내용 다 필요 없고, 도커 기동 시 위 URL 참조하여 restart policy 적용해주면 된다.
서버를 재기동시킬 때마다 Docker Compose를 수동으로 기동시키기 귀찮아서 service에 등록시켰다. 아래 내용은 이와 관련된 내용을 간단히 정리해보았다.
1. systemd
systemd에 대해 간단히 내용을 정리하고 넘어가고자 한다. 위키백과에 따르면, systemd는 모든 프로세스들을 관리하는 init 시스템이라고 정의가 되어있다.
systemd는 일부 리눅스 배포판에서 유닉스 시스템 V나 BSD init 시스템 대신 사용자 공간을 부트스트래핑하고 최종적으로 모든 프로세스들을 관리하는 init 시스템이다. systemd라는 이름 뒤에 추가된 d는 유닉스에서의 데몬(daemon)을 나타낸다.
사실 위 내용에 대해 잘 정리된 블로그도 많고 (구글에 systemd 만 쳐도 굉장히 많은 문서가 나온다) 해당 포스트에서 설명하고자 하는 내용과는 동떨어져있기 때문에 아래 내용을 설명할 때 필요한 내용만 일부 정리해놓도록 하겠다.
- 분류 : init 시스템
- 단위 : unit. unit은 많은 Type을 가지며 일반적으로 사용되는 Type은 "service"이다.
- 사용할 경로 : /etc/systemd/system
- 명령어 : systemctl cat [unit], systemctl enable [unit], systemctl start|stop [unit], systemctl status [unit]
# /etc/systemd/system/docker_rabbit.service
[Unit]
Description=Docker Compose
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/test-user/docker_compose
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
'Devops > Logging' 카테고리의 다른 글
[Fluentd] filter_parser plugin에 대하여 (0) | 2020.05.23 |
---|---|
[Fluentd] Life cycle, 컴포넌트, 데이터구조 (0) | 2020.05.23 |