일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스프링
- 도커
- git
- DataGridView
- 쿠버네티스
- github
- VOA
- Spring
- springboot
- design pattern
- 리팩토링
- docker
- react
- 자바
- 스프링부트
- 마이바티스
- kubernetes
- Python
- 리액트
- Winform
- machine-learning
- mybatis
- 코틀린
- Java
- MySQL
- c#
- 파이썬
- AWS
- Kotlin
- Spring Boot
- Today
- Total
보뇨 다이어리
도커 컨테이너에서 cron 돌리는 방법 본문
몇몇 자료들이 많긴한데 완전 초보인 저처럼 헤메는 사람이 있을까봐 적습니다 :)
맨처음 참고는 아래 두곳에서 했습니다
https://www.popit.kr/%EB%8F%84%EC%BB%A4-%EC%B4%88%EB%B3%B4%EC%9D%98-%EC%9A%B0%EB%B6%84%ED%88%AC-cron-%EC%82%BD%EC%A7%88%EA%B8%B0/
https://www.ekito.fr/people/run-a-cron-job-with-docker/
한국인이 작성한 블로그대로 작성하니 안되는 문제가 발생
여러가지 문제점이 있었는데 나열하자면 이렇다
1. 커스텀한 crontab 파일 위치
이게 문제가 뭐냐면 글을 잘 읽지 못한 저도 잘못이 있지만 Dockerfile 을 빌드할때는 Dockerfile 이 있는 해당디렉토리를 기준으로 이미지를 작성하게된다. 그렇기때문에 이미지내부에 넣을 파일들은 왠만하면 Dockerfile 이 있는 디렉토리에 넣는편이 좋다
2. 해당 이미지 컨테이너 실행 에러
이건 번외같은건데 Dockerfile 내부에 스케줄링을 돌리는데 cron을 설치하는 문구가 없을때는 위와 같은 아래가 발생한다
딱봐도 크론이 컨테이너 내부에 설치되지않았기 때문에 RUN apt-get install -y cron 하면 끝난다
3. Unable to locate package cron 에러
RUN apt-get install -y cron 을 했는데 왜 이런에러가 뜰까? 찾아보니 당연히 os 를 처음 설치했을경우 해줘야할 update 를 명시적으로 표시안해주었기 때문에 이런 에러를 뱉는것이였다
그러니 Dockerfile 내부에는 RUN apt-get update 를 해주면 끝난다
참고링크
https://stackoverflow.com/questions/27273412/cannot-install-packages-inside-docker-ubuntu-image
'컴퓨터 관련 > 서버 정보' 카테고리의 다른 글
unable to locate package kubeadm 에러 (0) | 2019.01.24 |
---|---|
우분투 서버 동기화 하는 방법 (0) | 2018.11.27 |
has no installation candidate ubuntu 에러 (0) | 2018.10.22 |
/usr/local/bin/docker-compose: Permission denied 에러 (0) | 2018.10.10 |
got permission denied while trying to connect to the docker daemon socket 에러 (0) | 2018.10.04 |