티스토리 뷰
반응형
Linux에서 시작 또는 재부팅시 docker/docker-compose를 자동으로 실행시켜 주는 방법 중, 이전 방법에서는 rc.local(rc-local)에 실행 스크립트를 삽입하는 방법이 있습니다.
그러나 rc.local에서 사용하기 위해서는, 10초 딜레이 등을 추가를 해서 docker 서비스가 실행될 때 까지 기다린 후 스크립트가 실행되게 끔 작성해야 합니다.
경우에 따라 rc.local이 비활성화 되어있어서 별도로 활성화 하는 작업이 필요할 수도 있습니다.
따라서 systemctl에 서비스를 추가하여 자동으로 실행하게 끔 하는 방법이 더 나을수도 있습니다.
이 글에서는 서비스에 등록하여 자동으로 실행 및 systemctl을 통해 관리 가능하도록 하는 방법을 안내합니다.
Ubuntu 20.04 LTS 및 CentOS 8에서 테스트 되었습니다.
먼저, docker-compose-app.service 파일을 생성하고 내용을 추가합니다. (파일명이 서비스 이름이 됩니다. 파일명 변경시 참고하세요. 파일 확장자는 변경 불가)
$ sudo vi /etc/systemd/system/docker-compose-app.service
# /etc/systemd/system/docker-compose-app.service
[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/srv/docker
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
WorkingDirectory는 실행할 docker-compose.yml 파일이 위치한 디렉토리로 지정합니다.
파일을 저장하고, 아래의 명령어로 서비스를 등록합니다.
$ sudo systemctl enable docker-compose-app
Created symlink /etc/systemd/system/multi-user.target.wants/docker-compose-app.service → /etc/systemd/system/docker-compose-app.service.
간단하게 모두 완료되었습니다.
Linux를 재부팅하여 실행이 잘 되는지 확인하여 마무리합니다.
반응형
'SW개발 > 가상화-Docker' 카테고리의 다른 글
docker-compose로 Container(컨테이너)에 사용되는 Image(이미지) 업데이트 (0) | 2023.01.11 |
---|---|
Docker(도커) Ubuntu 22.04 LTS(우분투 22.04) 설치 (0) | 2022.06.21 |
docker-compose로 vsftpd(fauria/vsftpd) 사용하기 (0) | 2022.03.02 |
Docker(도커) docker-compose up 실행 후 자동 종료 (0) | 2022.01.04 |
VSCode 도커(Docker)로 docker-compose 사용하여 웹IDE 구축 (lscr.io/linuxserver/code-server) (0) | 2021.12.23 |