1. Docker Registry๋?
โข
์ ์: Docker ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ ๋ฐฐํฌํ๋ ์ ์ฅ์(Repository)
โข
์ญํ : ๊ฐ๋ฐ์๊ฐ ๋ง๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ ค๋๋ฉด, ๋ค๋ฅธ ๊ฐ๋ฐ์๋ ์๋ฒ์์ ์ฝ๊ฒ ๋ด๋ ค๋ฐ์ ์ปจํ
์ด๋ ์คํ ๊ฐ๋ฅ
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 ๊ฐ ์ฃผ์ ๋ช
๋ น์ด