๐ ๊ณต๋ถ ๊ณ๊ธฐ
์ถ๊ฐ์ ์ธ ๋์ปค ๊ณต๋ถ๋ฅผ ์ํด ์ ํ๋ธ ๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ๋ฅผ ๋ณด๋ฉด์ ์ ๋ฆฌํด ๋ด ๋๋ค.
๋ชฉ์ฐจ
๐5-1. ์ปจํ ์ด๋ ๋ณด๊ด์ฐฝ๊ณ : ์ด๋ก ํธ
1๏ธโฃ ์ปจํ ์ด๋ ๋ณด๊ด ์ฐฝ๊ณ (Registry)๊ฐ ์์ด์?
* Registry๋ ์ฌ๋ฌ ํํ์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ์ ์ฅ์
- ์ข ๋ฅ :
- Docker Hub : hub.docker.com ๊ณต๊ฐ Registy๋ฅผ ์๋ฏธ
- Private Registry : ์ฌ๋ด์ ์ปจํ ์ด๋ ์ ์ฅ์
2๏ธโฃ docker hub (Registry) ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ด์.
1) docker hub์ ๊ฐ์
2) explore๋ก ๋ค์ํ ์ด๋ฏธ์ง ๊ฒ์ ๊ฐ๋ฅ
3) ๊ฐ์ธ Repository๋ ๊ฐ๋ฅ
๊ฐ์ธ Repository์ ์ด๋ฏธ์ง๋ ๊ณต๊ฐ๊ฐ ๋๋ค. ๊ณต๊ฐํ์ง ์์ผ๋ ค๋ฉด ๋ณ๋์ ๋น์ฉ์ ์ง๋ถํด์ผํจ.
4) ์ปค๋งจ๋ ๋ผ์ธ์์ dokcer hub ์ด๋ฏธ์ง ๊ฒ์
docker search ํค์๋
ํค์๋๊ฐ ํฌํจ๋ ์ด๋ฏธ์ง ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ค
3๏ธโฃ Private Registry๋ฅผ ๊ตฌ์ถํ๊ณ ์ถ์ด์.
์ฌ๋ด์์๋ง ์ด์ฉํ๋ Registry๋ฅผ ๋ง๋ค๊ณ ์ถ์ด์!
๊ทธ๋ฌ๋ฉด ํ๋ธ์์ registry ๊ณต์ ์ด๋ฏธ์ง๋ฅผ ์ฐพ์๋ผ
์ด๊ฒ ์ปจํ ์ด๋ Registry๋ฅผ ์ด์ํ ์ ์๋๋ก ๋์์ฃผ๋ ์ด๋ฏธ์ง
- ์๋ ๋ช ๋ น์ด๋ก Private ์ปจํ ์ด๋ ์ด์
docker run -d -p 5000:5000 --restart always --name registry registry:2
private repository ์ด์ํ์ฌ ์ด๋ฏธ์ง๋ฅผ pull / push ํ ๋๋
# ex) docker pull ํธ์คํธ๋ค์:ํฌํธ๋๋ฒ/์ด๋ฏธ์ง๋ช
:ํ๊ทธ
# ex) docker push ํธ์คํธ๋ค์:ํฌํธ๋๋ฒ/์ด๋ฏธ์ง๋ช
:ํ๊ทธ
์ปจํ ์ด๋ repository ์ด๋ฆ์ ์ ์ฉํด์ pull์ด๋ pushํด์ผ ์ฌ์ฉ๊ฐ๋ฅํ๋ค. (80ํฌํธ๋ฉด ์๋ต๊ฐ๋ฅ)
๐5-2. ์ปจํ ์ด๋ ๋ณด๊ด์ฐฝ๊ณ : ์ค์ตํธ
1๏ธโฃ hub.docker.com์ ์ปจํ ์ด๋ ์ ๋ก๋ ๋ฐ ๋ค์ด๋ก๋
1) ํ๋ธ์์ ์ด๋ฏธ์ง ๊ฒ์
docker search ํค์๋
2) ์ด๋ฏธ์ง ๋ค์ด
latest ํ๊ทธ๋ ์๋ต ๊ฐ๋ฅ
docker pull ์ด๋ฏธ์ง๋ช
:ํ๊ทธ
3) hub์ ๊ฐ์ธ repository์ ์ฌ๋ ค๋ณด๊ธฐ
login ๋ช ๋ น์ด ํตํด์ ์์ด๋์ ํจ์ค์๋ ์ ๋ ฅ
์๋๋ ์ด๋ฏธ ์ ์ ๋ก๊ทธ์ธํ ๊ธฐ๋ก์ด ์ ์ฅ๋์ด ๋ฐ๋ก ๋ก๊ทธ์ธ ๋จ (๋์ปค ๋ก๊ทธ์์ ํ๊ธฐ ์ ๊น์ง ์ ์ง๋จ)
4) ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ธ repository ์ ์ ๋ก๋ ํด๋ณด๊ธฐ
๊ณต์ ์ด๋ฏธ์ง ๋ฐ ๊ฐ์ธ์ด ์์ฑํ ์ด๋ฏธ์ง๋ ๊ฐ๋ฅ. ๋ค๋ง, ์ด๋ฏธ์ง ์ด๋ฆ์ ๋์ปค ๊ณ์ ์ ๋ถ์ฌ์ค์ผ ์ฌ๋ฆด ์ ์๋ค.
docker tag ์๋ณธ์ด๋ฏธ์ง๋ช
:ํ๊ทธ ๋์ปค๊ณ์ /๋ฐ๊ฟ์ด๋ฏธ์ง๋ช
:ํ๊ทธ
์ด์ฒ๋ผ ๋์ปค ๊ณ์ ์ ๋ถ์ฌ ์ด๋ฆ์ ๋ฐ๊ฟ์ฃผ๋ฉด ์ด๋ฏธ์ง ๋ฆฌ์คํธ์ ๊ฐ์ ์ด๋ฏธ์ง๋ก ์ด๋ฆ์ด 2๊ฐ ์กฐํ๊ฐ ๋๋ค. (์ด๋ฏธ์ง๊ฐ 2๊ฐ์ธ๊ฑด ์๋)
5) ๊ฐ์ธ ๋ ํฌ์ push
docker push ๋์ปค๊ณ์ ํฌํจ๋์ด๋ฏธ์ง๋ช
์ด ์ด๋ฏธ์ง๋ ์ด๋์๋ ๋๊ตฌ๋ ์ง ๋ค์ด๋ฐ์ ์ ์์.
2๏ธโฃ Private Registry ์ด์ํ๊ธฐ
๋น์ฉ์ ์ง๋ถํ๋ ๋ฐฉ์์ด ์๋๋ผ ์ง์ Private Registry๋ฅผ ์ด์ํ๋ ๋ฐฉ์
- ์ธ๋ถ ๋คํธ์ํฌ๊ฐ ์๋๋ ํ๊ฒฝ์์ ์ด์ํ๊ธฐ
- ์ฌ๋ด ์ ์ฉ ๋ ์ง์คํธ๋ฆฌ
1) ํ๋ธ๋ ์ปค๋งจ๋์์ registry ๊ฒ์
2) registry ์คํ
registry๊ฐ ์๋ ์ํ์์ runํ๋ฉด ์์์ ์ด๋ฏธ์ง๋ฅผ pull๋ฐ๊ณ run์ ์คํ
docker run -d -p 5000:5000 --restart always --name registry registry:2
3) ๊ณต์ ํ๋ธ์์ ์ ๊ณตํ๋ Repository๋ ์ด๋ฆ์ด ํ์์์ผ๋ Private Repository๋ ์ด๋ ์์คํ ์์ ์ด์ํ๋ Repository์ธ์ง ๋ช ์๋ฅผ ํด์ค์ผ ํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ํธ์คํธ๋ค์๊ณผ ํฌํธ๋ฅผ ํตํด push ํ๊ณ pull ํด์ผํ๋ค
ํธ์คํธ ๋ค์ ํ์ธ ๋ฐ Private Repository ํฌํธ ํ์ธ
4) ํ๋ธ์ ๊ฐ์ธ Repository์ฒ๋ผ ์ด๋ฏธ์ง์ ํด๋น ํธ์คํธ๋ค์๊ณผ ํฌํธ๊ฐ ํฌํจ๋์ผ ํ๋ค.
docker tag ์๋ณธ์ด๋ฏธ์ง๋ช
:ํ๊ทธ ํธ์คํธ๋ค์:ํฌํธ/์ด๋ฏธ์ง๋ช
:ํ๊ทธ
5) Private Repository์ push
๐ฉํธ์คํธ ๋ค์์ผ๋ก ํ ๋
์? ๋ก์ปฌํธ์คํธ๋ก๋ ๋ค๋ฅด๊ฒ ํธ์คํธ๋ค์์ผ๋ก ํ๋ ๊ฑด ์คํ์ด ์๋๋ค.
docker์ ๋ณด์์์ ์ด์ ๋ก ssl ์ธ์ฆ์ ํ๋ https๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋๋ฐ ์๋ฒ๋ http ์๋ต์ ์ฃผ๊ฒ๋์ด https์ธ ํด๋ผ์ด์ธํธ๊ฐ ๋ชป๋ฐ๊ณ ์๋ ์ํฉ
์ด ๋ฐฉ๋ฒ ์ฐธ๊ณ ํ๋ฉด ๋ ๋ฏํ๋ค
6) pushํ๊ฑฐ ์ด๋ ์๋์???
var ๋๋ ํ ๋ฆฌ๋ root ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅ
/var/lib/docker/voluems ์ ์๋์ ๊ฐ์ ํ๋์์ผ๋ก ์ปจํ ์ด๋ ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋์ด ์์
๊ทธ ๋๋ ํ ๋ฆฌ ์๋์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๊ฐ ์๊ณ ์ฐ๋ฆฌ๊ฐ pushํ httpd๋ ๋ณผ ์ ์๋ค.
โ ๊ณต๋ถ์๋ฃ
5-1 , 5-2 ๋ด์ฉ
'DevOps > Docker' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 7] ์ปจํ ์ด๋ ๊ด๋ฆฌ (0) | 2023.04.15 |
---|---|
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 6] ์ปจํ ์ด๋ ์ฌ์ฉํ๊ธฐ (0) | 2023.04.14 |
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 4] ์ปจํ ์ด๋ ๋ง๋ค๊ณ ํ๋ธ์ ๋ฐฐํฌํด๋ณด๊ธฐ (0) | 2023.04.13 |
๋ฐ๋ฐฐ๋ ๋์ปค ์๋ฆฌ์ฆ 0~3-2] ๋์ปค ์ดํด๋ณด๊ธฐ (0) | 2023.04.12 |
์ํฐ๋ ์ฑ๋ฆฐ์ง Docker 2] ๋ก์ปฌํ๊ฒฝ์์ ๋์ปค๋ฅผ ํ์ฉํด๋ณด์! (0) | 2023.04.09 |