Docker๋ ์ต๊ทผ ์ต๋ช ๋ฐ ๋ฌด๋ฃ ์ฌ์ฉ์์ ๋ํ ํ ์๋ ์ ํ์ ๊ตฌํํ์ต๋๋ค. ์ ํ์ 6์๊ฐ๋น 100(๋ฌด) ๋ฐ 200(๋ฌด๋ฃ) ์ปจํ ์ด๋ ์ด๋ฏธ์ง ํ ์์ฒญ์ ๋๋ค.
์ด ์ ํ์ผ๋ก ์ธํด ๋น๋๊ฐ ์คํจํ๊ธฐ ์์ํ์ผ๋ฉฐ ์์ ๋๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ตฌํํด์ผ ํฉ๋๋ค.
docker build -t hub.libelektra.org/build-elektra-alpine:202012-0e6d95bb97e68999c969280c59562b159b8a0ecbee2a5aba451fe640081032de --pull --build-arg JENKINS_GROUPID=47110 --build-arg JENKINS_USERID=47110 --build-arg PARALLEL=12 --build-arg BASE_IMG=hub.libelektra.org/build-elektra-web-base:master_299 -f ./scripts/docker/alpine/3.12/Dockerfile ./scripts/docker/alpine/3.12
Sending build context to Docker daemon 6.144kB
Step 1/7 : FROM alpine:3.12.1
toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
script returned exit code 1
๋น๋ ์๋ฒ๋ ์ค์ ๋ก docker.org๊ฐ ์๋ ๊ฐ์ธ ๋์ปค ๋ ์ง์คํธ๋ฆฌ์์๋ง ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
๋ฌธ์ ๋ ์ฐ๋ฆฌ๊ฐ hub.libelektra.org์์ ๋ณ๊ฒฝํ์ง ์์ ์ค์ ์ผ ์ ์์ต๋๊น? ์๋๋ฉด hub.libelektra.org์ ๋ฏธ๋ฌ๋ง๋์ง ์์ ์ด๋ฏธ์ง๊ฐ ์์ต๋๊น?
@robaerd ์ข ๋ด์ฃผ์๊ฒ ์ด์ ? ์ฐ๋ฆฌ ๋น๋์ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก ๊ธด๊ธํฉ๋๋ค.
์๋๋ฉด hub.libelektra.org์ ๋ฏธ๋ฌ๋ง๋์ง ์์ ์ด๋ฏธ์ง๊ฐ ์์ต๋๊น?
์ฐ๋ฆฌ ํ๋ธ์ ์๋ ์ ๋ฐ์ดํธ๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ํญ์ ํ์ธํ๋ ๊ฒ ๊ฐ์ต๋๋ค...
์ฐ๋ฆฌ ํ๋ธ์ ์๋ ์ ๋ฐ์ดํธ๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ํญ์ ํ์ธํ๋ ๊ฒ ๊ฐ์ต๋๋ค...
์์ด ์ด๋ฏธ์ง ID์ ์ผ๋ถ์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋์ปค ์ด๋ฏธ์ง์ ์๋ณ ์ฌ๊ตฌ์ถ์ ์ผ๋ถ์ ๋๋ค.
๋์ปค ์ด๋ฏธ์ง๋ ํ์ฌ ๋ค์ ์บ์๋๋ฏ๋ก ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ค์ ๋น๋ํด์๋ ์ ๋๋ฏ๋ก ์ต์ํ ์ด๋ฒ ๋ฌ์๋ ์ค๋ฅ๊ฐ ๋ค์ ๋ฐ์ํ์ง ์์์ผ ํฉ๋๋ค.
~14๊ฐ์ ๋์ปค ์ด๋ฏธ์ง๋ก ์ด๋ป๊ฒ 100๊ฐ์ pull ์ ํ์ ์ด๊ณผํ ์ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์กฐ์ฌํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. :sparkling_heart: ์, ์ข ์ด์ํด ๋ณด์ ๋๋ค. ๋์ปค ์ด๋ฏธ์ง๊ฐ 14๊ฐ์ด๊ณ ์๋ณ๋ก๋ง ๊ฐ์ ธ์ค๋ฉด ํ๋๋ณด๋ค ํจ์ฌ ๋ฎ์์ผ ํฉ๋๊น?
์ฐ๋ฆฌ ํ๋ธ์ ์๋ ์ ๋ฐ์ดํธ๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ํญ์ ํ์ธํ๋ ๊ฒ ๊ฐ์ต๋๋ค...
hub.libelektra.org๋ https://docs.docker.com/registry/recipes/mirror ์ ๊ฐ์ด ๊ตฌ์ฑ๋์ด ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ด๋ฏธ์ง๊ฐ ์ต์ ์ํ์ธ์ง ํ์ธํ๋ ๊ฒ์ ์ค์ ๋ก ์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ ๊ฒฝ์ฐ์๋ง ํ ๋น๋์ ํฌํจ๋์ด์ผ ํ๋ค๋ ์ ์ ์ดํดํฉ๋๋ค.
ํ ๋น๋์ ์ฐํํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ CI์ ๋ํ Docker Hub ๊ณ์ ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์คํ ์์ค ํ๋ก๊ทธ๋จ ์ด ์์ผ๋ฏ๋ก ๋ฌด์ ํ ๊ณ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋์์ด๋๋ค๋ฉด ์ ์ฒญ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋จผ์ ์ค์ ๋ก ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์ฐพ์์ผ ํฉ๋๋ค.
Docker Hub๊ฐ ์๋ ์ ํ์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด IP๋ฅผ ๊ธฐ๋ฐ์ผ๋กํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ก์ปฌ์์ ์ฌ์ค์ ํ๊ธฐ๊ฐ ๋๋ฌด ์ฝ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋น๋ ์๋ฒ๊ฐ ์ด IP๋ฅผ ํตํด Docker Hub์ ํ์๋๋ ์ ์ผํ ๊ฒ์ ๋๊น?
์, ๋น๋ ์๋ฒ์๋ ์ ์ฉ IP๊ฐ ์๊ณ ์ฌ๋ฌ ๊ฐ๋ผ๋ CI๊ฐ docker๋ฅผ ์ฌ์ฉํ๋ ์ ์ผํ ๋ถ๋ถ์ ๋๋ค.
๋์ปค ์ด๋ฏธ์ง๊ฐ 14๊ฐ์ด๊ณ ์๋ณ๋ก๋ง ๊ฐ์ ธ์ค๋ฉด ํ๋ ๋ฏธ๋ง์ด์ด์ผ ํฉ๋๊น?
Jenkins Pipeline์ Docker Hub์์ ํญ์ ๊ฐ์ ธ์ค๋ ค๊ณ ํ๋ ์์ (์น ์ฌ์ดํธ์ ๋ํด ์๊ฐํฉ๋๋ค)์ ์คํํ๋ ๊ฒ ๊ฐ์ต๋๋ค. https://build.libelektra.org/blue/organizations/jenkins/libelektra/detail/PR-3589 /5/ํ์ดํ๋ผ์ธ/696
AFAIK ์ด๊ฒ์ build --pull
์ ์ฌ์ฉ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก build
( --pull
์ ์ธ)๋ฅผ ์ฌ์ฉํ๊ณ --pull
๋งค์ฃผ ๋๋ ๋งค์ ์คํํด์ผ ํฉ๋๋ค.
์์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! :sparkling_heart:
์ด ๋ฌธ์ ์ ์์ธ์ ์ฐพ์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
--pull
๋ฅผ ์ ๊ฑฐํ๋ ๋์ ์์ง elektra๋ฅผ ์ค์นํ์ง ์๊ณ webui ๊ธฐ๋ฐ์ ๋ํ ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค ์๋ ์์ต๋๋ค(์ข
์์ฑ ๋ฐ gtest๊ฐ ์ค์น๋ ๊ฒฝ์ฐ์๋ง). ๊ทธ๋ฌ๋ฉด ์ด ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ - ๋ค๋ฅธ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก - ๋งค์ ๋น๋๋๊ณ webui ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ ์ด ๊ธฐ๋ณธ ์ด๋ฏธ์ง์์ ํ์ฅ๋๊ณ ๊ฐ์ธ ๋์ปค ๋ ์ง์คํธ๋ฆฌ์์๋ง ๊ฐ์ ธ์ต๋๋ค(๋ฐ๋ผ์ ๊ฐ์ ธ์ค๊ธฐ ์ ํ์ ์ํฅ์ ๋ฏธ์น์ง ์์).
elektra๊ฐ ์์ง ์ค์น๋์ง ์์ webui ๋ฒ ์ด์ค
๋๋ ์ด ์์ด๋์ด๋ฅผ ์ข์ํ๋ค! Docker pull ์ ํ์ ๊ด๊ณ์์ด ์ด๊ฒ์ ๊ฐ์ ๋ ๊ฒ์ ๋๋ค!
elektra๊ฐ ์์ง ์ค์น๋์ง ์์ webui ๋ฒ ์ด์ค
์, ๊ทธ๊ฒ๋ ์ต์
์ด ๋ ๊ฒ์
๋๋ค. ๋ฌธ์ ์ ์ด๋ฏธ์ง๋ ์ด๋ฏธ ์ค์ webui
๋ฐ elektrad
์ด๋ฏธ์ง์ ๊ธฐ๋ณธ ์ด๋ฏธ์ง์
๋๋ค. ๋ฐ๋ผ์ Elektra์ ๋ณต์ฌ ๋ฐ ๋น๋๋ฅผ ๋ค๋ฅธ Dockerfile๋ก ์ด๋ํ ์ ์์ต๋๋ค. ์๋๋ฉด ๋ค๋จ๊ณ ๋น๋ ์๋ฃจ์
์ด ์์ต๋๊น? ํ์คํ์ง ์์ต๋๋ค. ์ค๊ฐ ๋จ๊ณ๊ฐ ๋ ์ง์คํธ๋ฆฌ๋ก ํธ์/ํ๋ง๋ ์ ์๋์ง ์ฌ๋ถ์
๋๋ค.
์ด์ ๋ ํ ๋จ๊ณ๊ฐ ์คํ ๋ ์ ํจ์ค์ ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ
์คํธํ๋ค. ์ด๋ฏธ์ง ๋น๋ ์์ ์กฐ๊ธ ๋ ์์ธํ ์ดํด๋ณด๊ณ ๋ฌธ์ ์ ์์ธ์ ์ฐพ์์ต๋๋ค.
watchtower
, ์ง์ ๋ ๊ฐ๊ฒฉ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์
๋ฐ์ดํธํ๋ ์คํ ์ค์ธ ์ปจํ
์ด๋์
๋๋ค. ์ด ๋ฌธ์ ๋ ์ต์ ๋ฆด๋ฆฌ์ค ์์ ์์ ๋์ด์ผ ํฉ๋๋ค. ์ด ์ด๋ฏธ์ง๋ฅผ ์
๋ฐ์ดํธํ๊ณ ํฌํ ๊ฐ๊ฒฉ์ ๋ ๋์ ๊ฐ์ผ๋ก ์ค์ ํ๊ฒ ์ต๋๋ค.
๋ง๋ฃจ ์ปจํ
์ด๋์ ๋ก๊ทธ๋ ๋ด ๊ฐ์ ์ ํ์ธํฉ๋๋ค.
time="2020-11-16T22:22:58Z" level=info msg="Unable to update container /frontend_repo_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:22:59Z" level=info msg="Unable to update container /frontend_registry_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:00Z" level=info msg="Unable to update container /frontend_letsencrypt-nginx-proxy-companion_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:01Z" level=info msg="Unable to update container /frontend_nginx-proxy_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:02Z" level=info msg="Unable to update container /frontend_watchtower_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:04Z" level=info msg="Unable to update container /frontend_libelektra-webui_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:28Z" level=info msg="Unable to update container /frontend_repo_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:29Z" level=info msg="Unable to update container /frontend_registry_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
time="2020-11-16T22:23:30Z" level=info msg="Unable to update container /frontend_letsencrypt-nginx-proxy-companion_1, err='Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit'. Proceeding to next."
์ฐพ์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค :sparkling_heart:
@robaerd ์ด ์์ ์ ์ข ๋ฃํ ์ ์์ต๋๊น? ์๋๋ฉด ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์์ต๋๊น?
์ํฐํฉํธ ๋จ๊ณ(webui, ์น์ฌ์ดํธ, ํจํค์ง ํ ์คํธ)์์ ์ฌ์ฉ๋๋ ๋ชจ๋ ๋์ปค ์ด๋ฏธ์ง๋ ์ฌ์ ํ ๋น๊ณต๊ฐ ๋ ์ง์คํธ๋ฆฌ ๋์ docker.org์์ ๊ฐ์ ธ์ต๋๋ค. ๋๋ ์ด๊ฒ์ผ๋ก ๋์ปค ํ ํ๋๋ฅผ ๊ฒฐ์ฝ ์ด๊ณผํ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ์๋ง๋ ๋ณ๋์ ๋ฌธ์ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ง๋ฃจ ์ด๋ฏธ์ง ์ ๋ฐ์ดํธ ์ดํ ์ด ๋ฌธ์ ๋ ์์ ๋์ด์ผ ํ๋ฉฐ IMHO๋ ์ข ๋ฃ๋ ์ ์์ต๋๋ค.
์๋ง๋ ๋ค๋ฅธ ์์ ์ ์ํํ ํ์๊ฐ ์์ต๋๋ค. ํ๊ณ์ ๋๋ฌํ์ง ์์ผ๋ฉด docker.org์์ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Jenkins Pipeline์ Docker Hub์์ ํญ์ ๊ฐ์ ธ์ค๋ ค๊ณ ํ๋ ์์ (์น ์ฌ์ดํธ์ ๋ํด ์๊ฐํฉ๋๋ค)์ ์คํํ๋ ๊ฒ ๊ฐ์ต๋๋ค. https://build.libelektra.org/blue/organizations/jenkins/libelektra/detail/PR-3589 /5/ํ์ดํ๋ผ์ธ/696
AFAIK ์ด๊ฒ์
build --pull
์ ์ฌ์ฉ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค.๊ธฐ๋ณธ์ ์ผ๋ก
build
(--pull
์ ์ธ)๋ฅผ ์ฌ์ฉํ๊ณ--pull
๋งค์ฃผ ๋๋ ๋งค์ ์คํํด์ผ ํฉ๋๋ค.