crontab docker 실행 안되는 3가지 이유

crontab으로 docker를 실행하려는데 docker가 실행되지 않는 경우 있죠? crontab docker 실행 안되는 이유와 해결 방법을 살펴보겠습니다.

docker 명령 자체에 문제가 있는 경우

여러분이 작성한 docker 명령이 분명 잘 작동했는데, 그대로 옮겨 적었는데 작동하지 않는다면 일단 옮겨 적는 과정에서 실수로 오타가 난 것은 없는지 확인해 주세요. 만약 오타 없이 잘 작성했다면 다음으로 넘어가세요.

그림 1. crontab docker 실행 안될 때: docker 명령어에 오타난 경우
그림 1. crontab docker 실행 안될 때: docker 명령어에 오타난 경우

docker 명령어를 찾지 못하는 경우

crontab에서 docker 명령어를 실행할 때 그냥 docker로 작성하셨었다면 /usr/bin/docker로 fullpath로 작성해 보시기 바랍니다. crontab으로 실행하는 경우 PATH 인식이 안 돼서 실행이 안 될 수 있습니다.

그림 2. crontab docker 실행 안될 때: PATH 인식 안 되는 경우
그림 2. crontab docker 실행 안될 때: PATH 인식 안 되는 경우

docker -it 옵션을 사용한 경우

docker 명령어를 사용할 때 -it 명령어는 터미널을 통해 상호작용 할 때 사용합니다. 그런데 crontab은 상호작용할 필요가 없습니다. 따라서 -it를 사용하면 docker 명령어가 정상적으로 실행되지 않습니다. -it 옵션을 사용하셨다면 꼭 제거해 주시기 바랍니다.

그림 3. crontab docker 실행 안될 때: -it 옵션이 들어간 경우
그림 3. crontab docker 실행 안될 때: -it 옵션이 들어간 경우

정리

위의 3가지 경우에 해당하는지 확인해 보시고, crontab을 이용한 docker 실행이 잘 되길 바랍니다. 혹시 이 외에도 docker 명령어가 crontab에서 실행되지 않는 경우가 있다면 댓글로 알려주시면, 다른 분들께도 도움이 될 것 같습니다.

관련 자료

docker run 설명서를 참고했습니다. 그리고 저의 경험에 의존해서 문서를 작성했습니다.

같이 읽으면 좋은 글

Leave a Comment