crontab으로 docker를 실행하려는데 docker가 실행되지 않는 경우 있죠? crontab docker 실행 안되는 이유와 해결 방법을 살펴보겠습니다.
목차
docker 명령 자체에 문제가 있는 경우
여러분이 작성한 docker 명령이 분명 잘 작동했는데, 그대로 옮겨 적었는데 작동하지 않는다면 일단 옮겨 적는 과정에서 실수로 오타가 난 것은 없는지 확인해 주세요. 만약 오타 없이 잘 작성했다면 다음으로 넘어가세요.
docker 명령어를 찾지 못하는 경우
crontab에서 docker 명령어를 실행할 때 그냥 docker로 작성하셨었다면 /usr/bin/docker로 fullpath로 작성해 보시기 바랍니다. crontab으로 실행하는 경우 PATH 인식이 안 돼서 실행이 안 될 수 있습니다.
docker -it 옵션을 사용한 경우
docker 명령어를 사용할 때 -it 명령어는 터미널을 통해 상호작용 할 때 사용합니다. 그런데 crontab은 상호작용할 필요가 없습니다. 따라서 -it를 사용하면 docker 명령어가 정상적으로 실행되지 않습니다. -it 옵션을 사용하셨다면 꼭 제거해 주시기 바랍니다.
정리
위의 3가지 경우에 해당하는지 확인해 보시고, crontab을 이용한 docker 실행이 잘 되길 바랍니다. 혹시 이 외에도 docker 명령어가 crontab에서 실행되지 않는 경우가 있다면 댓글로 알려주시면, 다른 분들께도 도움이 될 것 같습니다.
관련 자료
docker run 설명서를 참고했습니다. 그리고 저의 경험에 의존해서 문서를 작성했습니다.