Intro::
크론탭 설정에 대해 정리해보자.
크론탭(Crontab)을 사용하여 Docker 컨테이너를 1분마다 실행시키고 종료된 후에 삭제하는 작업을 자동화할 수 있습니다. 이를 위해서는 먼저 크론 작업을 설정해야 하며, Docker 컨테이너를 실행하고 종료 후에 자동으로 삭제하는 명령어를 포함시켜야 합니다.
크론탭 설정
- 크론탭 편집: 터미널에서
crontab -e
명령어를 실행하여 크론탭 설정 파일을 엽니다.
- 작업 추가: 파일에 다음과 같은 형식의 작업을 추가합니다.
0 * * * * cd /home/ec2-user && bash crawl.sh >> /home/ec2-user/log/crontab.log 2>&1
이 형식은 매 분마다
/path/to/script.sh
경로의 스크립트를 실행하라는 의미입니다. script.sh
는 실제 Docker 컨테이너를 실행하고 삭제하는 스크립트 파일로 대체해야 합니다.Docker 컨테이너를 실행하고 삭제하는 스크립트
script.sh
파일을 생성하고, Docker 컨테이너를 실행한 후에 종료되면 자동으로 삭제하도록 다음과 같이 스크립트를 작성합니다.#!/bin/sh # 컨테이너 이름 설정 CONTAINER_NAME="test_container" # 사용할 도커 이미지 IMAGE_NAME="test:latest" # 실행 중인 컨테이너 확인 if docker ps | grep -q $CONTAINER_NAME; then echo "컨테이너가 이미 실행 중입니다." else # 컨테이너가 종료된 상태인지 확인 if docker ps -a | grep -q $CONTAINER_NAME; then echo "컨테이너가 종료된 상태입니다. 재시작합니다." sudo docker start $CONTAINER_NAME else # 컨테이너가 존재하지 않으면 새로 생성 및 실행 echo "컨테이너가 존재하지 않습니다. 새로 생성합니다." sudo docker run --name $CONTAINER_NAME -d $IMAGE_NAME fi fi
your-docker-image
는 실행하고자 하는 Docker 이미지의 이름으로 대체해야 합니다.
-rm
옵션은 컨테이너가 종료될 때 자동으로 삭제되도록 합니다.
스크립트 실행 가능하게 만들기
스크립트 파일이 저장된 후, 이 파일이 실행 가능하도록 권한을 변경해야 합니다. 터미널에서 다음 명령어를 사용하세요:
chmod +x /path/to/script.sh
이제 설정한 크론탭 작업이 매분마다
script.sh
스크립트를 실행하여 지정한 Docker 이미지를 기반으로 컨테이너를 실행하고, 컨테이너의 실행이 종료되면 자동으로 컨테이너를 삭제합니다.크론탭 설정, 스크립트 작성 및 실행 권한 부여 과정을 올바르게 수행했다면, 원하는 작업이 자동으로 정기적으로 실행됩니다. Docker 컨테이너의 실행이 짧은 작업에 유용하게 사용될 수 있으며, 이 방법으로 다양한 배치 작업, 정기적인 데이터 처리, 자동화된 테스트 등을 구성할 수 있습니다.
자잘한 명령어
crontab -e# 크론 작성 crontab -l# 현재 크론 목록 crontab -r# sudo service crond restart# 재시작
Loading Comments...