About GitHub Container Registry - yunkon-kim/test-on-github-actions GitHub Wiki

About GitHub Container Registry

GitHub Container Registry (for short GHCR)์— ๋Œ€ํ•˜์—ฌ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. GHCR ์ด์ „์— GitHub Package Registry๋„ ๊ณต๊ฐœ ๋˜์—ˆ๊ณ , ์ €๋Š” ์ฒ˜์Œ์— ์ด๋‘˜์ด ํ˜ผ๋ž€์Šค๋Ÿฌ์› ๊ธฐ์— ๋‹ค๋ฅธ์ ๋„ ํ•จ๊ป˜ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

GitHub Blog์—์„œ GitHub Container Registry์™€ GitHub Package Registry๋ฅผ ๋ชจ๋‘ ์†Œ๊ฐœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Overview of GitHub Container Registry

Kayla Ngan์— ๋”ฐ๋ฅด๋ฉด, 2019๋…„ 5์›” 10์ผ๋ถ€ํ„ฐ ๋ฐฐํฌ๋œ GitHub Packages๋ฅผ ํ†ตํ•ด ์ˆ˜์–ต๊ฐœ์˜ ํŒจํ‚ค์ง€๊ฐ€ GitHub์—์„œ ๋‹ค์šด๋กœ๋“œ ๋˜์—ˆ๊ณ , Docker ํŒจํ‚ค์ง€๊ฐ€ ๋‘๋ฒˆ์งธ๋กœ ํฐ ์ƒํƒœ๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค(๊ฐ€์žฅ ํฐ ์ƒํƒœ๊ณ„๋Š” npm). ํ•œํŽธ GitHub์€ GitHub Packages๊ฐ€ ์ด๋ฏธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ์— ๋Œ€ํ•œ ์šฐ์ˆ˜ํ•œ ์ถ”์ ์„ฑ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Œ์—๋„ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒฝํ—˜๊ณผ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด GitHub Container Registry ์ œ๊ณตํ•˜๊ณ , ์—ฌ๊ธฐ์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Introducing GitHub Container Registry

GHCR์€ ๊ณต๊ฐœ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ๋ฌด๋ฃŒ ์ž…๋‹ˆ๋‹ค(๋ฒ ํƒ€ ๊ธฐ๊ฐ„๋™์•ˆ ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€๋„ ๋ฌด๋ฃŒ). GHCR์€ GitHub Packages ๋‚ด์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, GitHub Actions์™€ ํ•จ๊ป˜ ํ™œ์šฉํ•˜๋ฉด ๋ณด๋‹ค ๋†’์€ ์‹œ๋„ˆ์ง€ ํšจ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ผ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

The difference between GHCR and GitHub Packages Docker registry

GHCR ๊ณต๊ฐœ 1๋…„ 4๊ฐœ์›” ์ „์— GitHub Packages์—์„œ๋Š” ์ด๋ฏธ Docker registry๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์—ˆ๊ณ , ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํ™ฉ์œผ๋กœ ๋‘˜์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.๋‚ด์šฉ์œผ๋กœ ์ธํ•ด ํ˜ผ๋ž€์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ, ๋‘˜์˜ ์ฐจ์ด๋ฅผ ๊ฐ„๋‹จํžˆ ๋ณด์ด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

  • GitHub Packages ๋‚ด์—์„œ Docker registry๋ฅผ ์ง€์›ํ•จ (์•„๋ž˜ ๊ทธ๋ฆผ1 ์ฐธ๊ณ )
  • "GitHub Packages Docker registry"๋ฅผ ์ค„์—ฌ "Docker package registry"๋ผ๊ณ  ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ
  • GHCR์— ์ €์žฅ๋œ Container images๋ฅผ ๊ฐœ์ธ ๊ณ„์ • ๋˜๋Š” ์กฐ์ง ๊ณ„์ •์˜ Packages์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ (์•„๋ž˜ ๊ทธ๋ฆผ2 ์ฐธ๊ณ )
๊ทธ๋ฆผ 1 ๊ทธ๋ฆผ 2
image image

The difference of registry domain

Registry Host Example URL
GitHub Packages Docker registry docker.pkg.github.com docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME
GitHub Container Registry ghcr.io ghcr.io/OWNER/IMAGE_NAME

From Domain changes

The difference in relation/position of registries

๋‘ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  • Packages registry: ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ์— ์†ํ•จ
  • Container registry: ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” ๊ฐœ์ธ ๊ณ„์ •์ด๋‚˜ ์กฐ์ง(Organization)์— ์†ํ•จ

๋”ฐ๋ผ์„œ, GHCR์€ Docker Hub๋ฅผ ์ด์šฉํ•  ๋•Œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ €์žฅ์†Œ์™€ ๋ฌด๊ด€ํ•œ ์ด๋ฏธ์ง€ ํ‘ธ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ๋งŒ ์กฐ๊ธˆ ์ถ”๊ฐ€ ๋œ๋‹ค๋ฉด GHCR์ด Docker Hub๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์„œ๋น„์Šค๋กœ์„œ ์ž๋ฆฌ๋งค๊น€ ํ• ์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

๋‹ค์Œ๊ธ€ โ–ถ๏ธ Getting started with GitHub Container Registry

โš ๏ธ **GitHub.com Fallback** โš ๏ธ