웹서버 분류

도커 허브에서 매일 이미지 빌드하기

컨텐츠 정보

본문


3232235777_yDxZlRdF_64abcd3a0e55ec0f86308130f4aa65ece8590ab2.png


Dockerfile을 만들고 Github와 연동해서 도커허브에 이미지를 만들 수 있습니다.


3232235777_QEwYrD04_eec0db732cc49784bf89c7a81c7fafa272e766ef.png



하지만 위 스샷에 있듯이, 비공식 이미지 업데이트가 되었을 때만 다시 빌드합니다.


즉, FROM:공식이미지 만 들어있는 Dockerfile은 영원히 업데이트가 되지 않습니다.


따라서 도커허브에서는 수동으로 빌드하는 방법을 제시하는데요.


서버를 운영한다면 간단하게 Crontab에 한줄넣어주면 됩니다.


저는매일 1번씩 빌드하게 적용했습니다.



e591250acb8365994b4a5fce36245523_1599569422_058.png


위와 같이 매일 빌드하는 것을 볼 수 있습니다.



이제 도커허브에서 하는 방법을 알려드리겠습니다.



e591250acb8365994b4a5fce36245523_1599569493_9897.png

위와 같이 첫화면에서 Build로 들어갑니다.




e591250acb8365994b4a5fce36245523_1599569422_1168.png


그리고 Configure Automated Builds에 들어갑니다.



e591250acb8365994b4a5fce36245523_1599569422_1457.png


밑에 내려보면 Build triggers라고 있습니다. 여기에 적당한 이름을 넣고 + 를 누릅니다.




e591250acb8365994b4a5fce36245523_1599569422_163.png


위와 같이 Trigger URL이 생긴 것을 확인할 수 있습니다.


이 URL을 웹브라우저에 넣으면 바로 빌드를 시작합니다.


그런데 수동으로 하기엔 좀 그렇죠?



웹서버의 crontab에 들어갑니다.


우분투의 경우



sudo crontab -e


위와 같이 들어간 뒤



30 3 * * * /usr/bin/curl --output /dev/null --silent -H "Content-Type: application/json" --data '{"build": true}' -X POST "트리거URL"


위와 같은 형식으로 넣어주면 됩니다.


예를들어 트리거 URL이 https://hub.docker.com/api/build/v1/source/123412341234/trigger/12341234123412421/call/ 라면



30 3 * * * /usr/bin/curl --output /dev/null --silent -H "Content-Type: application/json" --data '{"build": true}' -X POST "https://hub.docker.com/api/build/v1/source/123412341234/trigger/12341234123412421/call/"


위와 같이 넣어주면 됩니다.


그러면 매일 새벽 3시 30분에 빌드가 됩니다.


감사합니다.

관련자료

웹서버 26 / 1 페이지
RSS

최근글


새댓글


알림 0