Search

3. Docker Registry

1. Docker Registry๋ž€?

โ€ข
์ •์˜: Docker ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ์ €์žฅ์†Œ(Repository)
โ€ข
์—ญํ• : ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ์ด๋ฏธ์ง€๋ฅผ ์˜ฌ๋ ค๋‘๋ฉด, ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋‚˜ ์„œ๋ฒ„์—์„œ ์‰ฝ๊ฒŒ ๋‚ด๋ ค๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๊ฐ€๋Šฅ
์‰ฝ๊ฒŒ ๋งํ•ด GitHub๊ฐ€ ์ฝ”๋“œ ์ €์žฅ์†Œ๋ผ๋ฉด, Docker Registry๋Š” ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ

2. ์ฃผ์š” ๊ฐœ๋…

โ€ข
Registry: ์ „์ฒด ์ €์žฅ์†Œ ์„œ๋ฒ„ (์˜ˆ: Docker Hub, AWS ECR, GitHub Container Registry ๋“ฑ)
โ€ข
Repository: Registry ์•ˆ์—์„œ ํŠน์ • ์ด๋ฏธ์ง€ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” ์ €์žฅ์†Œ
์˜ˆ: nginx
โ€ข
Tag: ์ด๋ฏธ์ง€ ๋ฒ„์ „ ํ‘œ์‹œ
์˜ˆ: nginx:latest, nginx:1.25
์ฆ‰, ํ’€๋„ค์ž„์€ ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑ๋จ:
<๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์ฃผ์†Œ>/<๋ ˆํฌ์ง€ํ† ๋ฆฌ>:<ํƒœ๊ทธ>
Plain Text
๋ณต์‚ฌ
์˜ˆ์‹œ:
โ€ข
nginx:latest โ†’ Docker Hub์˜ nginx ์ตœ์‹  ๋ฒ„์ „
โ€ข
myregistry.com/myapp:1.0 โ†’ ๊ฐœ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์˜ฌ๋ฆฐ myapp 1.0 ๋ฒ„์ „

3. Docker Hub (๊ธฐ๋ณธ Public Registry)

โ€ข
Docker์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ณต์‹ Registry
โ€ข
์•„๋ฌด ์ฃผ์†Œ๋„ ์•ˆ ์ ์œผ๋ฉด Docker Hub์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ด
์˜ˆ์‹œ:
docker pull ubuntu # ์‹ค์ œ๋กœ๋Š” docker.io/library/ubuntu:latest
Bash
๋ณต์‚ฌ

4. ์ฃผ์š” ๋ช…๋ น์–ด

์ด๋ฏธ์ง€ ๋‚ด๋ ค๋ฐ›๊ธฐ (pull)

docker pull nginx:latest
Bash
๋ณต์‚ฌ

์ด๋ฏธ์ง€ ์˜ฌ๋ฆฌ๊ธฐ (push)

1.
๋กœ์ปฌ ์ด๋ฏธ์ง€์— ํƒœ๊ทธ ๋ถ™์ด๊ธฐ:
docker tag myapp:1.0 mydockerid/myapp:1.0
Bash
๋ณต์‚ฌ
2.
๋กœ๊ทธ์ธ:
docker login
Bash
๋ณต์‚ฌ
3.
ํ‘ธ์‹œ:
docker push <๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์ฃผ์†Œ>/<๋ ˆํฌ์ง€ํ† ๋ฆฌ>:<ํƒœ๊ทธ> # ์˜ˆ: docker push mydockerid/myapp:1.0
Bash
๋ณต์‚ฌ

๊ฐœ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์‹คํ–‰ (ํ…Œ์ŠคํŠธ์šฉ)

๋กœ์ปฌ์—์„œ ์ง์ ‘ Registry ์‹คํ–‰ ๊ฐ€๋Šฅ:
docker run --name registry -d -p 5000:5000 registry:2
Bash
๋ณต์‚ฌ
โ€ข
์‹คํ–‰ ํ›„, localhost:5000/myapp:1.0 ํ˜•ํƒœ๋กœ ์ด๋ฏธ์ง€ ์ €์žฅ ๊ฐ€๋Šฅ

5. ์™œ ์ค‘์š”ํ•œ๊ฐ€?

โ€ข
CI/CD ํŒŒ์ดํ”„๋ผ์ธ ํ•ต์‹ฌ: ๋นŒ๋“œ๋œ ์ด๋ฏธ์ง€๋ฅผ Registry์— ์ €์žฅ โ†’ ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ ธ์™€ ์‹คํ–‰
โ€ข
ํŒ€ ํ˜‘์—…: ๋™์ผํ•œ ์ด๋ฏธ์ง€๋ฅผ ๊ณต์œ ํ•ด โ€œํ™˜๊ฒฝ ์ฐจ์ด ๋ฌธ์ œโ€ ์ œ๊ฑฐ
โ€ข
๋ณด์•ˆ/๊ด€๋ฆฌ: ์‚ฌ๋‚ด ์ „์šฉ Registry(ECR, Harbor ๋“ฑ)๋ฅผ ์จ์„œ ๋ฏผ๊ฐํ•œ ์„œ๋น„์Šค ์ด๋ฏธ์ง€ ๊ด€๋ฆฌ

ํ•ต์‹ฌ ์š”์•ฝ

โ€ข
Docker Registry = ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ
โ€ข
Repository = ์ด๋ฏธ์ง€ ๋ฌถ์Œ, Tag = ๋ฒ„์ „
โ€ข
Public Registry: Docker Hub / Private Registry: AWS ECR, Harbor, GitHub ๋“ฑ
โ€ข
docker pull, docker push, docker login, docker tag ๊ฐ€ ์ฃผ์š” ๋ช…๋ น์–ด