Docker 컨테이너를 실행하는 가장 좋은 방법은 무엇입니까? 크론인가요, 아니면 다른 방법인가요? 여러 소스 파일에서 추출해야 합니까?

Docker 컨테이너를 실행하는 가장 좋은 방법은 무엇입니까? 크론인가요, 아니면 다른 방법인가요? 여러 소스 파일에서 추출해야 합니까?

Docker 컨테이너의 여러 인스턴스를 실행하고 각 컨테이너가 30분마다 다시 실행되도록 하고 싶습니다.

docker 컨테이너를 실행하기 위해 추출해야 하는 src 디렉터리에 conf 파일이 있습니다. 예를 들어

용법:

docker run -v ~/example.com/conf:/opt/tool/conf --rm -it sdok

여기서 example.com/conf:는 컨테이너가 실행할 conf 파일을 추출해야 하는 위치입니다.

나는 여러 개의 example.com 디렉토리를 가지고 있습니다... 그 중 3-4개입니다.

내 bash 스크립트는 다음과 같습니다.

sdok.sh

#!/bin/bash
cd /home
docker run -v ~/example.com/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com1/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com2/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com3/conf:/opt/tool/conf --rm -it sdok
docker run -v ~/example.com4/conf:/opt/tool/conf --rm -it sdok

그 후에는 sdok.sh 스크립트를 크론하고 30분마다 실행되도록 했습니다. 더 좋은 방법이 있나요?

*/30 * * * * cd /home/wraiith75/bugbounty/tool/example.com && ./sdok.sh

알려주세요. 감사합니다!

답변1

  1. -it? -d더 적절할 것입니다
  2. 로그를 잃어 버리면 --rm문제가 발생할지 전혀 알 수 없습니다.
  3. docker-compose스크립트 대신 파일을 사용하는 것이 더 나을 수도 있습니다. (동일한 컨테이너를 계속 다시 시작하고 로그를 유지합니다.)
  4. Bash 스크립트를 유지하면 example.com* 디렉터리에 대한 루프로 작성할 수 있습니다.

관련 정보