๐ ํ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ค
๋ด๊ฐ ํ์๋ฒ๋ฅผ ๊ตฌ์ถํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์๋ค.
- Custom Private Docker Registry
- Documentation Archiving Server
- GitLab Private Server
- Blog
์ฌ์ค ์ ๋ค ๊ฐ์ง๋ ๊ตณ์ด ํ์๋ฒ๋ฅผ ๊ตฌ์ฑํ์ง ์๋๋ผ๋ ํฌ์ง ์์ ๋น์ฉ์ผ๋ก ์ด์ฉํ ์ ์๋ ๊ตฌ๋ ์๋น์ค๋ค์ด ๋์ฒ๋๋ค. ๋ค๋ง, ์ง์ ์ด์ํ๋ ํ์๋ฒ๋ ํ์์ ๋ง์ถ์ด ๋ฏ์ด ๊ณ ์น ์ ์๋ค๋ ์์ ๋ ์ธก๋ฉด์ ๋ฉ๋ฆฌํธ๊ฐ ์กด์ฌํ๋ค. ๋ธ๋ก๊ทธ์ ๊ฒฝ์ฐ์๋ ํ์๋ฒ๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ ์ฝ๋๋ ๋ฒจ์ ์์ ์ด ๊ฐ๋ฅํด์ง๋ค. ๊ฒ๋ค๊ฐ ์๋ฒ๋ฅผ ์ง์ ์ด์ํ๋ค๋ ๋ญ๋ง๋ ๋ฌด์ํ์ง ๋ชปํ๋ค. ๋ณธ ํฌ์คํ ์ ํ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ฉด์ ๊ฒฝํํ ย ๊ฒ๋ค์ ๋ํ ๊ธฐ๋ก์ด๋ค.
์๋ฒ ์ ์
๋ฌผ๋ฆฌ์๋ฒ๋ฅผ ์๋ฒ ๊ตฌ๋งค๋ฅผ ๊ณ ๋ฏผํ๋ฉด์ ์๊ฐํ๋ ๊ณ ๋ ค์ฌํญ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ ์ฌ์ ํ์๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค
- ํฌ๊ธฐ๊ฐ ํฌ์ง ์์ผ๋ฉฐ, ์ ์์์ด์ฌ์ผ ํ๋ค.
- ์ ๋ขฐํ ์ ์๋ ์ ํ์ด์ฌ์ผํ๋ค.
์ง์์ ์ด์ํ๋ ์๋ฒ์ด๊ธฐ์ ์ ๊ธฐ์ธ/์์์ ๋ํ ๊ณ ๋ฏผ์ ์ ํ ์๊ฐ ์์๋ค. ๋ํ AS๊ฐ ๊ฐ๋ฅํ๊ฑฐ๋ ์ง์ ๋ฏ์ด๊ณ ์น ์ ์๋ ์์ค์ ์๋ฒ์ด์ฌ์ผ ํ๋ค.
์ด ์ธ๊ฐ์ง ๊ณ ๋ ค์ฌํญ์ ๋ง์กฑํ๋ ์๋ฒ๋ Intel NUC13ANKi5 ์ด์๋ค. ์์ฐ ์ค๋จ๋ ๋ฏธ๋ ํผ์จ๋ผ๋ ๋ง์ด ์์ง๋ง ์ด๋ ต์ง ์๊ฒ ๊ตฌ๋งค๊ฐ ๊ฐ๋ฅํ๋ค.
๋ฉฐ์น ์ด์์ ํด๋ณธ ๊ฒฐ๊ณผ ๋งค์ฐ ๋ง์กฑํ๋ค. ๋๋ผ์ธ ์ ๋๋ก ์์์ด ๋์ง ์๋๋ค. (๋ํ ๊ต์ฅํ ์๊ณ ์ธ๋ จ๋ ๋์์ธ์ผ๋ก ์ด์ฉ๋ฉด ์ธํ ๋ฆฌ์ด์ฉ์ผ๋ก๋ ์ธ ์ ์์์ง๋...)
+ NUC ๋ WOL (Wake On Lan)์ ์ง์ํ๋ค. ์ธ๋ถ์์๋ ์๋ฒ๊ฐ ๋ค์ด๋๋ฉด ์๊ฒฉ์ผ๋ก ์จ๋ผ์ธ ์ํฌ ์ ์๋ค!
์๋ฒ ์ธํ
NUC๋ฅผ ๊ตฌ๋งคํ์ ๋ Win11์ด ์ค์น ๋์ด์์์ง๋ง, ๋ฏธ๋ จ์์ด ์ฐ๋ถํฌ ์ค์น๋ฅผ ์งํํ๋ค. ๋๋ ๊ฐ ์๋น์ค๋ฅผ Docker ๊ธฐ๋ฐ์ VM์ผ๋ก ๊ด๋ฆฌ๋ฅผ ํ๊ณ ์ถ์๋ค.(๋ฌผ๋ก ์๋์ฐ๋ก๋ ๊ฐ๋ฅํ๋ค) ๋ํ ์ด์ ์ธก๋ฉด์์๋ ๋ฆฌ๋ ์ค ๊ธฐ๋ฐ์ ์์คํ ์ด ์์ ๋๊ฐ ํจ์ฌ ๋๋ค. ๊ฒฐ์ ์ ์ผ๋ก ๋ฐ ํ์์ ์ฐ๋ถํฌ/ํ๋๋ผ๋ก ์ด์์์ด์ ์ฐ๋ถํฌ๊ฐ ํธํ๋ค.
์ค์น ์ดํ ์ง์ผ๋ก ๊ฐ์ ธ์ ๋ฐฉํ๋ฒฝ์ ์ธํ ํ๊ณ ์ด๊ฒ ์ ๊ฒ ๋ฐ๋ชฌ๋ค์ ์ค์น ํ์๋ค.
- Openssh-server: ์๋ฒ์ ์ ๊ทผํ ๋ ํญ์ ๋ชจ๋ํฐ๋ฅผ ์ฐ๊ฒฐํ ์๋ ์๋ค. ย ์ค์น ์ดํ 22๋ฒ ํฌํธ๋ฅผ ๊ฐ์ธ ํฌํธ๋ก ๋ณ๊ฒฝํ์๋ค.
- docker.io: ์๋น์ค ์ด์์ ์ํ ๋๊ตฌ.
๋ด๊ฐ ๋์ปค๋ฅผ ์ค์นํ๊ณ ๋ฐ๋ก pullํ ์ด๋ฏธ์ง๋ ์ด๋ฐ ๊ฒ๋ค์ด๋ค.
- nginx (ํ๋ก์ ์๋ฒ์ฉ)
- gitlab/gitlab-ce
- registry, hyper/docker-registry-web
์ ๋ ์์ดํผ ๋ฐ ๊ฐ์ ์ฉ ์ธํฐ๋ท
ํ์๋ฒ๋ฅผ ์ํด ๊ธฐ์ ์ธํฐ๋ท์ ์ฌ์ฉํ๊ธฐ๋ ํ์ค์ ์ผ๋ก ์ด๋ ต๋ค. ๋ฐ๋ผ์ ์ ํ๋๋ ๋ถ๋ถ๋ค์ด ์๊ธฐ๋๋ฐ ์ง์ ๋๊ปด ๋ณธ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํด๋ณด์๋ค.
- ์ ๋ ์์ดํผ: ๋๋ ์ด ์๋ฒ๋ฅผ ๋๋ฉ์ธ์ ๋ฌถ์ด ์ฌ์ฉํ๊ณ ์๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ๋ L3์ค์์น๋ฅผ ๋ด๋ ธ๋ค ์ฌ๋ฆฌ๋ฉด ์์ดํผ๊ฐ ์ ๋์ ๋ฐ๋๋ค๋ ๊ฒ์ด๋ค. ํ์ง๋ง ๊ฐ์ธ์ด ๊ณ ์ ์์ดํผ๋ฅผ ๋ฐ๋ ๊ฒ์ ์ฝ์ง ์๋ค. (์ด๋ ์์ง ํด๊ฒฐํ์ง ๋ชปํ๋ค. ์์ดํผ๊ฐ ๋ณํ์ง ์๊ฒ ๊ธฐ๋ํ ์๋ฐ์..)
- ๋๋ฆฐ ์ธํฐ๋ท ์๋: docker-registry์ ์ด๋ฏธ์ง๋ฅผ pull/push ํ ๋๋ง๋ค ์ฝ๊ฐ์ ๋ต๋ตํจ์ด ๋๊ปด์ง๋ค.
- ์ ํ๋๋ Port: ๋์ ์ธํฐ๋ท์ 80/tcp ํฌํธ ๊ฐ๋ฐฉ์ด ๋ถ๊ฐํ์๋ค. ๋ณธ ๋ธ๋ก๊ทธ ๊ฐ์ ๊ฒ์ ์ด์ํ๊ธฐ์ ์ ํ์ ์ด๋ผ๋ ๋ง์ด๋ค. ๋คํํ๋ ๊ทธ ์ด์ธ ํฌํธ๋ ๊ฐ๋ฐฉ์ด ๊ฐ๋ฅํ์๋ค. ํ์ฌ๋ 80๋ฒ์ ์ฐํ ํ์ฌ ์๋น์ค๋ฅผ ์ด์์ค์ด๋ค. (์ด๋ ๋ค๋ฅธ ํฌ์คํ ์ผ๋ก ๋ค์ ๋ค๋ค๋ณด๊ฒ ๋ค.)
ํ์ฌ๋ ๋ณธ ์๋ฒ์์๋ ๋ณธ ๋ธ๋ก๊ทธ๋ฅผ ํฌํจํด์ ๋ค์ํ ์์คํ ๋ค์ด ์ด์๋๊ณ ์๋ค. ํฅํ ์ด ๊ณผ์ ๋ค(ํ๋ก์ ์๋ฒ, SSL, Application ๋ฑ)๋ ๋ธ๋ก๊ทธ ํฌ์คํ ์ผ๋ก ๋ค๋ค๋ณผ ์์ ์ด๋ค.