์ฝ์์์ Docker๋ก ์์
ํ๋ ๊ฒ์ ๋ง์ ์ฌ๋๋ค์๊ฒ ์น์ํ ๋ฃจํด์
๋๋ค. ๊ทธ๋ฌ๋ GUI/์น ์ธํฐํ์ด์ค๊ฐ ๊ทธ๋ค์๊ฒ๋ ์ ์ฉํ ๋๊ฐ ์์ต๋๋ค. ์ด ๊ธฐ์ฌ์์๋ ํ์ฌ๊น์ง ๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ ์๋ฃจ์
์ ๋ํ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ์๋ฃจ์
์ ์์ฑ์๋ Docker๋ฅผ ์์๋ณด๊ฑฐ๋ ๋๊ท๋ชจ ์ค์น๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ณด๋ค ํธ๋ฆฌํ(๋๋ ์ผ๋ถ ๊ฒฝ์ฐ์ ์ ํฉํ) ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ค๊ณ ๋
ธ๋ ฅํ์ต๋๋ค. ์ผ๋ถ ํ๋ก์ ํธ๋ ๋งค์ฐ ์ ๊ณ ๋ค๋ฅธ ํ๋ก์ ํธ๋ ์ด๋ฏธ ์ฃฝ์ด ๊ฐ๊ณ ์์ต๋๋ค ...
ํฌํ ์ด๋
-
์น ์ฌ์ดํธ ;GitHub์ ;Gitter . - ๋ผ์ด์ผ์ค: ์คํ ์์ค(zlib ๋ผ์ด์ผ์ค ๋ฐ ๊ธฐํ).
- OS: ๋ฆฌ๋ ์ค, ๋งฅ OS X, ์๋์ฐ.
- ์ธ์ด/ํ๋ซํผ: Go, JavaScript(Angular).
-
๋ฐ๋ชจ ๋ฒ์ (๊ด๋ฆฌ์/tryporter).
Portainer(์ด์ ์ Docker์ฉ UI)๋ Docker ํธ์คํธ ๋ฐ Docker Swarm ํด๋ฌ์คํฐ ์์
์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์น ์ธํฐํ์ด์ค์
๋๋ค. Docker ํธ์คํธ์ ์ฃผ์/์์ผ์ โโ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๋ Docker ์ด๋ฏธ์ง๋ฅผ ๋ฐฐํฌํ์ฌ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ์์๋ฉ๋๋ค. ์ปจํ
์ด๋, ์ด๋ฏธ์ง(Docker Hub์์ ๊ฐ์ ธ์ฌ ์ ์์), ๋คํธ์ํฌ, ๋ณผ๋ฅจ, ๋น๋ฐ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. Docker 1.10+(๋ฐ Docker Swarm 1.2.3+)์ ์ง์ํฉ๋๋ค. ์ปจํ
์ด๋ ์กฐํ ์ ๊ฐ ์ปจํ
์ด๋์ ๋ํ ๊ธฐ๋ณธ ํต๊ณ(๋ฆฌ์์ค ์ฌ์ฉ๋, ํ๋ก์ธ์ค), ๋ก๊ทธ, ์ฝ์ ์ ์(xterm.js ์น ํฐ๋ฏธ๋)์ด ๊ฐ๋ฅํฉ๋๋ค. ์ธํฐํ์ด์ค์ ๋ค์ํ ์์
์ ๋ํ Portainer ์ฌ์ฉ์์ ๊ถํ์ ์ ํํ ์ ์๋ ์์ฒด ์ก์ธ์ค ๋ชฉ๋ก์ด ์์ต๋๋ค.
Kitematic(๋์ปค ํด๋ฐ์ค)
-
์น ์ฌ์ดํธ (+๋์ปค ๋๊ตฌ ์์ ํ์ด์ง );GitHub์ ;ัะพััะผ . - ๋ผ์ด์ผ์ค: ์คํ ์์ค(Apache ๋ผ์ด์ผ์ค 2.0).
- OS: ๋งฅ OS X, ์๋์ฐ.
- ์ธ์ด/ํ๋ซํผ: Electron, Node.js, React ๋ฐ AltJS.
Mac OS X ๋ฐ Windows์ Docker ์ฌ์ฉ์๋ฅผ ์ํ ํ์ค GUI๋ก, Docker ์์ง, Compose ๋ฐ Machine๋ ํฌํจํ๋ ์ ํธ๋ฆฌํฐ ์ธํธ์ ์ค์น ํ๋ก๊ทธ๋จ์ธ Docker Toolbox์ ํฌํจ๋์ด ์์ต๋๋ค. Docker Hub์์ ์ด๋ฏธ์ง ๋ค์ด๋ก๋, ๊ธฐ๋ณธ ์ปจํ
์ด๋ ์ค์ (๋ณผ๋ฅจ, ๋คํธ์ํฌ ํฌํจ) ๊ด๋ฆฌ, ๋ก๊ทธ ๋ณด๊ธฐ ๋ฐ ์ฝ์ ์ฐ๊ฒฐ์ ์ ๊ณตํ๋ ์ต์ํ์ ๊ธฐ๋ฅ ์ธํธ๊ฐ ์์ต๋๋ค.
์กฐ์ ์
-
์น ์ฌ์ดํธ ;GitHub์ . - ๋ผ์ด์ผ์ค: ์คํ ์์ค(Apache ๋ผ์ด์ผ์ค 2.0).
- OS: ๋ฆฌ๋ ์ค, ๋งฅ OS X.
- ์ธ์ด/ํ๋ซํผ: Go, Node.js.
Shipyard๋ ๋จ์ํ ์ธํฐํ์ด์ค๊ฐ ์๋๋ผ ์์ฒด API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ Docker ๋ฆฌ์์ค ๊ด๋ฆฌ ์์คํ
์
๋๋ค. Shipyard์ API๋ JSON ํ์์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ RESTful์ด๋ฉฐ Docker Remote API์ 100% ํธํ๋๋ฉฐ ์ถ๊ฐ ๊ธฐ๋ฅ(ํนํ ์ธ์ฆ ๋ฐ ์ก์ธ์ค ๋ชฉ๋ก ๊ด๋ฆฌ, ์ํ๋ ๋ชจ๋ ์์
๋ก๊น
)์ ์ ๊ณตํฉ๋๋ค. ์ด API๋ ์น ์ธํฐํ์ด์ค๊ฐ ์ด๋ฏธ ๊ตฌ์ถ๋ ๊ธฐ๋ฐ์
๋๋ค. ์ปจํ
์ด๋ ๋ฐ ์ด๋ฏธ์ง์ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์๋ ์๋น์ค ์ ๋ณด๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์กฐ์ ์์์๋ RethinkDB๋ฅผ ์ฌ์ฉํ๋ค. ์น ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ปจํ
์ด๋(ํต๊ณ ๋ฐ ๋ก๊ทธ ๋ณด๊ธฐ, ์ฝ์ ์ฐ๊ฒฐ ํฌํจ), ์ด๋ฏธ์ง, Docker Swarm ํด๋ฌ์คํฐ ๋
ธ๋, ๊ฐ์ธ ๋ ์ง์คํธ๋ฆฌ(Registries)๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
ํด๊ตฐ ๋์ฅ
-
์น ์ฌ์ดํธ ;GitHub์ . - ๋ผ์ด์ผ์ค: ์คํ ์์ค(Apache ๋ผ์ด์ผ์ค 2.0).
- OS: ๋ฆฌ๋ ์ค, ๋งฅ OS X, ์๋์ฐ.
- ์ธ์ด/ํ๋ซํผ: Java(VMware Xenon ํ๋ ์์ํฌ).
์๋ช
์ฃผ๊ธฐ ์ ๋ฐ์ ๊ฑธ์ณ ์ปจํ
์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์๋ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํด ์ค๊ณ๋ VMware์ ํ๋ซํผ์
๋๋ค. DevOps ์์ง๋์ด์ ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ค๊ธฐ ์ํด ์ค๊ณ๋ ๊ฒฝ๋ ์๋ฃจ์
์ผ๋ก ํฌ์ง์
๋๋์์ต๋๋ค. ์น ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด Docker, ์ปจํ
์ด๋(+ํต๊ณ ๋ฐ ๋ก๊ทธ ๋ณด๊ธฐ), ํ
ํ๋ฆฟ(Docker Hub์ ํตํฉ๋ ์ด๋ฏธ์ง), ๋คํธ์ํฌ, ๋ ์ง์คํธ๋ฆฌ, ์ ์ฑ
(์ด๋ค ํธ์คํธ๊ฐ ์ด๋ค ์ปจํ
์ด๋์์ ์ฌ์ฉ๋ ์ง, ๋ฆฌ์์ค๋ฅผ ํ ๋นํ๋ ๋ฐฉ๋ฒ)์ ํตํด ํธ์คํธ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ปจํ
์ด๋์ ์ํ(ํฌ์ค ์ฒดํฌ)๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. Docker ์ด๋ฏธ์ง๋ก ๋ฐฐํฌ ๋ฐ ๋ฐฐํฌ๋ฉ๋๋ค. Docker 1.12 ์ด์์์ ์๋ํฉ๋๋ค. (ํ๋ก๊ทธ๋จ ์๊ฐ๋ ์ฐธ์กฐํ์ธ์.
DockStation
-
์น ์ฌ์ดํธ ;GitHub์ (์์ค์ฝ๋ ์์ด). - ๋ผ์ด์ผ์ค: ๋ ์ (ํ๋ฆฌ์จ์ด).
- OS: ๋ฆฌ๋ ์ค, ๋งฅ OS X, ์๋์ฐ.
- ์ธ์ด/ํ๋ซํผ: Electron(Chromium, Node.js).
DockStation์ ์ ์ ํ๋ก์ ํธ์
๋๋ค. docker run
Docker Compose ํ์์ผ๋ก. Docker 1.10.0+(Linux) ๋ฐ 1.12.0(Mac + Windows), Docker Compose 1.6.0+์์ ์๋ํฉ๋๋ค.
๊ฐ๋จํ ๋์ปค UI
-
GitHub์ . - ๋ผ์ด์ผ์ค: ์คํ ์์ค(MIT ๋ผ์ด์ผ์ค).
- OS: ๋ฆฌ๋ ์ค, ๋งฅ OS X, ์๋์ฐ.
- ์ธ์ด/ํ๋ซํผ: Electron, Scala.js(+ Scala.js์ React).
Docker Remote API๋ฅผ ์ฌ์ฉํ์ฌ Docker ์์
์ ์ํ ๊ฐ๋จํ ์ธํฐํ์ด์ค์
๋๋ค. ์ปจํ
์ด๋ ๋ฐ ์ด๋ฏธ์ง(Docker Hub ์ง์ ํฌํจ)๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ฝ์์ ์ฐ๊ฒฐํ๊ณ , ์ด๋ฒคํธ ๊ธฐ๋ก์ ๋ณผ ์ ์์ต๋๋ค. ์ฌ์ฉํ์ง ์๋ ์ปจํ
์ด๋์ ์ด๋ฏธ์ง๋ฅผ ์ ๊ฑฐํ๋ ๋ฉ์ปค๋์ฆ์ด ์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ๋ฒ ํ ๋ฒ์ ์ด๋ฉฐ ๋งค์ฐ ๋๋ฆฌ๊ฒ ๋ฐ์ ํ๊ณ ์์ต๋๋ค(์ปค๋ฐ์ผ๋ก ํ๋จํ๋ฉด ์ค์ ํ๋์ ์ฌํด XNUMX์์ ๊ฐ๋ผ์์์ต๋๋ค).
๋ค๋ฅธ ์ต์
๋ฆฌ๋ทฐ์ ํฌํจ๋์ง ์์:
-
๋ชฉ์ฅ ๊ฒฝ์์ ์ค์ผ์คํธ๋ ์ด์ ๊ธฐ๋ฅ๊ณผ Kubernetes ์ง์์ ๊ฐ์ถ ์ปจํ ์ด๋ ๊ด๋ฆฌ ํ๋ซํผ์ ๋๋ค. ์คํ ์์ค(Apache ๋ผ์ด์ผ์ค 2.0); Linux์์ ์๋ํฉ๋๋ค. ์๋ฐ๋ก ์์ฑ๋์์ต๋๋ค. ์น ์ธํฐํ์ด์ค๊ฐ ์์ต๋๋ค๋์ฒ UI Node.js์์. -
์ฝํ ๋ - "ํ๋ก๋์ ์์ ์ปจํ ์ด๋๋ฅผ ์คํํ๊ธฐ ์ํ ๊ฐ๋ฐ์ ์นํ์ ์ธ ํ๋ซํผ"์ผ๋ก, ๋ณธ์ง์ ์ผ๋ก Kubernetes์ ๊ฒฝ์ํ์ง๋ง ๋ณด๋ค ์ค๋น๋ "์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ" ์๋ฃจ์ ์ผ๋ก ์๋ฆฌ๋งค๊นํ์ต๋๋ค. CLI ๋ฐ REST API ์ธ์๋ ํ๋ก์ ํธ๋ ์น ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. (์คํฌ๋ฆฐ ์ท ) ํด๋ฌ์คํฐ ๋ฐ ํด๋น ์ค์ผ์คํธ๋ ์ด์ (ํด๋ฌ์คํฐ ๋ ธ๋, ์๋น์ค, ๋ณผ๋ฅจ, ๋น๋ฐ ์์ ํฌํจ)์ ๊ด๋ฆฌํ๊ณ ํต๊ณ/๋ก๊ทธ๋ฅผ ํ์ธํฉ๋๋ค. ์คํ ์์ค(Apache ๋ผ์ด์ผ์ค 2.0); Linux, Mac OS X, Windows์์ ์๋ํฉ๋๋ค. ๋ฃจ๋น๋ก ์์ฑ๋์์ต๋๋ค. -
๋ฐ์ดํฐ ํ๋ฆฌ - ์ต์ํ์ ๊ธฐ๋ฅ๊ณผ ๋ฌธ์๋ฅผ ๊ฐ์ถ ๊ฐ๋จํ ์ ํธ๋ฆฌํฐ์ ๋๋ค. ์คํ ์์ค(MIT ๋ผ์ด์ผ์ค); ๋ฆฌ๋ ์ค์์ ์๋ (์ฐ๋ถํฌ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ ํจํค์ง); Python์ผ๋ก ์์ฑ๋์์ต๋๋ค. ์ด๋ฏธ์ง์ฉ Docker Hub๋ฅผ ์ง์ํ๊ณ ์ปจํ ์ด๋ ๋ก๊ทธ๋ฅผ ๋ด ๋๋ค. -
Panamax - "๋๋๊ทธ ์ค ๋๋กญ์ฒ๋ผ ๊ฐ๋จํ๊ฒ ๋ณต์กํ ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ๋ง๋๋ ๊ฒ"์ ๋ชฉํ๋ก ํ๋ ํ๋ก์ ํธ์ ๋๋ค. ์ด๋ฅผ ์ํด ์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ์ํ ์์ฒด ํ ํ๋ฆฟ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค์์ต๋๋ค(Panamax ๊ณต๊ฐ ํ ํ๋ฆฟ ), Docker Hub์ ๋ฐ์ดํฐ์ ํจ๊ป ์ด๋ฏธ์ง/์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒ์ํ ๋ ๊ฒฐ๊ณผ๊ฐ ํ์๋ฉ๋๋ค. ์คํ ์์ค(Apache ๋ผ์ด์ผ์ค 2.0); Linux, Mac OS X, Windows์์ ์๋ํฉ๋๋ค. ๋ฃจ๋น๋ก ์์ฑ๋์์ต๋๋ค. CoreOS ๋ฐ Fleet ์ค์ผ์คํธ๋ ์ด์ ์์คํ ๊ณผ ํตํฉ๋์์ต๋๋ค. ์ธํฐ๋ท์ ๋ณด์ด๋ ํ๋์ผ๋ก ํ๋จํ๋ฉด 2015๋ ์ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. -
๋ํด๋ฆฌ - ์บํธ๋ ๋ฒ Docker ์ปจํ ์ด๋ ๋ฐ ์ด๋ฏธ์ง ๊ด๋ฆฌ๋ฅผ ์ํ GUI์ ๋๋ค. ์คํ ์์ค(MIT ๋ผ์ด์ผ์ค); JavaScript/Node.js๋ก ์์ฑ๋์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก Dockly์ GUI๋ ์ด๋ค ๋ชจ์ต์ธ๊ฐ์? ์ฃผ์, 3,4MB์ GIF!
PS
๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
Docker ๋ช ๋ น์ด ํฌํจ๋ ์นํธ ์ํธ ". - ยซ
Play with Docker - Docker๋ฅผ ์ค์ ๋ก ์ตํ ์ ์๋ ์จ๋ผ์ธ ์๋น์ค ". - ยซ
์ทจ์ฝํ Docker VM - Docker ๋ฐ ์นจํฌ ํ ์คํธ๋ฅผ ์ํ ํผ์ฆ ๊ฐ์ ๋จธ์ ".
์ถ์ฒ : habr.com