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