๋น๋ถ๊ฐ ๋ถ๋ช ํ๋ฏ์ด ์ฐ๋ฆฌ๋ ํ๋ก์ ํธ์ ๋ํ ์๋ก์ด ๊ธฐ๋ฅ ๊ตฌํ ๋๋ ์์ฉ์ ์ฒ์ฒํ ์ค๋จํ์ต๋๋ค. ๋ฐ์คํฌํฑ ์ฌ์ฉ์ ๋๋ถ๋ถ Docker Desktop ์ ํ์ผ๋ก ๋์ฒด๋์์ต๋๋ค. ๋ค์ํ ํด๋ผ์ฐ๋ ๊ณต๊ธ์์ ๋ํ ํ๋ก๋น์ ๋์ ์ ๋ฐ์ ์ผ๋ก ์ธํ๋ผ ํท ์ ์ฌ์ฉํ์ฌ ๋ ์ ๋ฌ์ฑ๋ฉ๋๋ค. ์ ๋ฐ์ ์ผ๋ก ํ๋ก์ ํธ์ ๋ํ ์ ๊ทน์ ์ธ ๊ฐ๋ฐ์ ์ถ๊ตฌํ๋ ๊ฒ์์ด ์์ ์์ ๋ ์ด์ ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก ์ค๋๋ถํฐ ๋ฒ๊ทธ ์์ ์ด ์๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด ๊ณต์์ ์ผ๋ก ์๋๊ผญ์ง๋ฅผ ๋ซ๋ ๊ฒ์ ๋๋ค.
๋๋ ๋ง์ ์ฌ๋๋ค์ด ์ด๊ฒ์ ์ฐจ์ํ๊ณ ์ถ์ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค. ํ ๋ก ์ ์์ ๋ฐ๋ฅด๊ฒ ์ ์งํ๊ณ ์ฐ๋ฆฌ๊ฐ ์ผ์ ๊ด๋ฆฌ ํ ์ โโ์๋๋ก์ด ์ค๋ ๋ ์์ ๋ณด๊ดํ์ญ์์ค.
์ค :(
๊ทธ๊ฒ์ด ์ง์๋๋ ๋์ ์ข์์ต๋๋ค. :)
์ข์ ์ผ์ ์ํด ๋ชจ๋๋ค!
readme.md๋ ์ ๋ฐ์ดํธ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
๋จธ์ ์ ๋ํ ๊ณต์ ์ง์์ด ์ข ๋ฃ๋๋ ๊ฒฝ์ฐ์ด ์ ์ฅ์์์ ์ปค๋ฎค๋ํฐ ๊ธฐ๋ฐ ์ง์์ด ๊ณ์ ๋ ๊ฐ๋ฅ์ฑ์ ์ผ๋ง๋๋ฉ๋๊น?
๊ธฐ๊ณ๊ฐ ํ์ํ ์ฌ๋๋ค์ ์ํด https://github.com/machine-drivers ์กฐ์ง์ ๋ช ๊ฐ์ง ํ๋์ด ์์ผ๋ฉฐ ์์ต๋๋ค. ๋๋ผ์ด๋ฒ / ๋จธ์ ...
์ฐ๋ฆฌ๋ ์ด๋ฏธ์ด ์กฐ์ง์ ํจ์น๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ ๊ฒํ ํ์ต๋๋ค. ํจ์น๋ ์ฌ๊ธฐ์์ ๋ณํฉ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. # 4509 (์ด๋ Windows์ ํ์งํ ๋ ๋ฒ์ ์ ์ฐจ๋จํฉ๋๋ค). ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ด๋ค ํํ์ ๋ฆด๋ฆฌ์ค๋ก ์งํํ๋ ๊ฒ์ด์ง๋ง, ์ฐ๋ฆฌ์๊ฒ๋ minikube์ minishift๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด์๋ง ๋งํฌํ๋ฉด๋ฉ๋๋ค.
@ shin- ์๋ก์ด ์ฌ์ฉ์ "์์ํ๊ธฐ"๋ฌธ์๋ ์ฌ์ ํ docker-machine
๋ฅผ ์๊ฐ์ ์ค์ฌ ๋ถ๋ถ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
๋ฌธ์ ์ ๋ฐ์ดํธ์ ๊ด์ฌ์ด์๋ ์ฌ๋๋ค์ ์ํด ๋์ ์ด๋ค ๋ฐฉ๋ฒ์ ์๋ดํด์ผํ ๊น์?
์ ๋ง ๋ถ๋๋ฌ์ด ์ผ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋จธ์ ์ ์ง์ ํ ํ์ ๋ฐ์คํฌํฑ์ ์ฌ์ฉํ๋ ํ ๋จธ์ ์์ ์์ ์ ์ํํ๋ ๋จ์์ฑ๊ณผ ์ธํ๋ผ ํท ์ ๋ณต์ก์ฑ ์ฌ์ด์
์๋ ํ์ธ์!
๋๊ตฐ๊ฐ Linux ์ฉ ๋์ฒด ์ํํธ์จ์ด๊ฐ ์์ต๋๊น? ๋ด ํธ์คํธ ์ปดํจํฐ์์ docker๋ฅผ ๋ฃจํธ๋ก ์คํํ๊ณ ์ถ์ง ์์ผ๋ฉฐ docker-machine์ ์ด์ ๊ด๋ จํ์ฌ ์ฝ๊ฐ์ ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ์ต๋๋ค. Linux ์ฉ Docker์ ๋ํ ๊ณํ์ด ์์ต๋๊น?
๊ฐ์ฌ!
@gilbsgilbs ํ์ฌ์ฒ๋ผ docker-machine์ ์ฌ์ฉํ ์ ์์ต๋๋ค!
@ shin- ์ ์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋๋ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ํ๊ณ ์์ผ๋ฏ๋ก docker-machine์ ์ฌ์ฉํ๋ฉด ์ด์ํ ์์ง์์ด ๋ ๊ฒ์ ๋๋ค.
@ shin- Weelll ... PR์ ์๋จ์ ์ ํ๋ก์ ํธ์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ง๋ ๋์ ์๊ฐ ์ผ ๊ฒ์ ๋๋ค. :๋์ง:
@justinclift ์ค๋น๋ ์ฑ๋ช
์์ ๋ ๋ง์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ฌด ์์ธํ ์ค๋ช
ํ๊ณ ์ถ์ง๋ ์์ง๋ง ์๋ ๊ฒ์๋ฌผ์์ ์ธ๊ธํ๋ ค๊ณ ํ์ง๋ง ํ๋ก์ ํธ๋ PR์ ๋ซํ์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋จ์ํ ์๋ก์ด ๊ธฐ๋ฅ์ด ์๋ ๋ฒ๊ทธ ์์ ์ผ๋ก ์ ํํ๋ ค๊ณ ํฉ๋๋ค. docker-machine
์ ํ์ฌ ๋ฐ๋ณต ๊ธฐ๋ฅ ์ธํธ๊ฐ ์ฌ์ฉ์์ ์๊ตฌ์ ๋ง์ผ๋ฉด ์ ํ๋ก์ ํธ์์๋์ด๋ฅผ ํฌ๊ธฐํ ์ด์ ๊ฐ ์์ต๋๋ค.
์ธํ๋ผ ํท๋ ํ์ฑํ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. 1 ๋ ์ด์ ๋ฆด๋ฆฌ์ค๊ฐ ์์๊ณ DockerCon 2018์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์์ผ๋ฉฐ https://docs.docker.com/machine/ ๊ณผ ์ ์ฌํ ์ฌ์ฉ์ ๋ฌธ์๊ฐ ์์ต๋๋ค.
Docker ๊ธฐ๊ณ ๋ฌธ์๋ Docker EE (์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์)๋ฅผ ์ํด ์ข ๋ฃ๋๋ Docker Cloud๋ฅผ ์ฌ์ฉํด ๋ณผ ๊ฒ์ ์ ์ํฉ๋๋ค.
๋ชจ๋ ํ๋ก์ ํธ๋ฅผ ํฌํฌํ๊ฑฐ๋ ๋ค๋ฅธ ๊ณณ์ ๋ณด๋๋ก ๊ถ์ฅํฉ๋๋ค : https://landscape.cncf.io/grouping=landscape&landscape=infrastructure-automation&sort=first-commit
๋ถํํ์ง ์๊ณ ๋ด ๊ด์ ์ ์ค๋ช ํฉ๋๋ค.
@ shin- ๊ทธ๋ฌ๋ ๋ง์ PR (Hyper-V์์ ๊ตญ์ ํ ์์ ์ ์ํํ๊ธฐ ์ํด ์ ๊ณตํ๋ ๋ฒ๊ทธ ์์ ๊ณผ ๊ฐ์)์ ๋ณํฉ๋์ง ์์์ต๋๋ค. ์ด๊ฒ์ "์๋ก์ด ํ๋ก์ ํธ์ ๋ํด์๋ ํฌ๊ธฐํ ์ด์ ๊ฐ ์๋ค"๋ ๊ด์ ์์ "์ฐ๋ฆฌ๋ ๋จ์ํ ์๋ก์ด ๊ธฐ๋ฅ์ด ์๋ ๋ฒ๊ทธ ์์ ์ผ๋ก ์ ํํ๋ ค๊ณ ํฉ๋๋ค"๋ผ๋ ์ข์ ํ์๊ฐ ์๋๋๋ค.
@์ ๊ฐ์ด-
์ค๋น๋ ์ฑ๋ช ์์ ๋ ๋ง์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ๋๋ฌด ์์ธํ ์ค๋ช ํ๊ณ ์ถ์ง ์์ต๋๋ค.
๊ทธ ๊ณต์ ์ฑ๋ช ์์ ๋งํฌ ํด ์ฃผ์๊ฒ ์ต๋๊น? (๊ฒ์ ๋ ๋๋ง๋ค?) ์ฐพ์ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ต์ ์ํ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ์ ์ง๋ ์๊ฐ์ boot2docker์ ๋ํ ๋ฌด์๋ฏธํ ํ์์ด์์ต๋๋ค. ์ด๊ฒ์ ๋ถ๋ช
ํ docker machine์ ๊ฐ๋ฆฌํค๋ฉฐ, ๋ฉ์ธ ํ์ด์ง์ Docker ํด๋ผ์ฐ๋๋ฅผ ์ต์ ๊ธฐ์ ๋ก ์ฌ์ฉํ๋ผ๋ ๊ฒฝ๊ณ ๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ Docker ํด๋ผ์ฐ๋ ๋ฌธ์ ์ค๋ช
(๋ง์ด๊ทธ๋ ์ด์
ํ์ด์ง๊ฐ ์๋๋๋ค !!!!)์ ๊ฐ๋ฆฌํค๋ฉฐ, 5 ์์ ์ค๋จ๋์์์ ํ์ธํ๊ธฐ ์ํด ์ธํฐ๋ท ๊ฒ์์ด ํ์ํ์ต๋๋ค (๊ทธ๋ฌ๋ 3 ์์ ๋ฐํ๋์์ผ๋ฏ๋ก 7 ๊ฐ์ ์ ). ์ด์ ๋์ปค ๋จธ์ ๋ฌธ์์์ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐ ํ ๊ฒ์ ์ ์ํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์์ต๋๋ค.์ด 3 ๊ฐ์ ๋ ๋ฌธ์ ์์ ๋์ปค ๋จธ์ ๋ ์ค๋จ๋๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
์ด๊ฒ์ ๋ฌธ์๊ฐ ์๋ํ๋ ๋ฐฉ์์ด ์๋๋๋ค. ์์ ์๋ฃจ์
์ผ๋ก ๋๋๋ฆด ๊ฒ์ด์ง๋ง ์์ง ์ฌ์ฉํ์ง ์์๋ค๋ฉด ๋์ปค๋ฅผ ๋ฒ๋ ธ์ต๋๋ค.
@aliceminotto ์ด์ผ๊ธฐํ๊ณ ์๋ ์ฌ์ดํธ ๋ ํ์ด์ง๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์๋ค๋ฉด ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ์ค๋๋ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
docker-machine์ ์ฌ๋ผ์ง์ง ์๊ณ ๊ธฐ๋ฅ์ ๋ฒ์๋ฅผ ๋๋ฆฌ๋ ๊ฒ์ด ์๋๋๋ค.
Docker Cloud๋ ์ฌ๋ผ์ง์ง ์๊ณ ๋ ์ด์ ์๋ฒ ํ๋ก๋น์ ๋ / ๊ด๋ฆฌ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ด๋ฏธ์ง ๊ตฌ์ถ์ ์ํด ์ฌ์ ํ ์กด์ฌํฉ๋๋ค. Docker์๋ Docker for AWS , Docker for Azure ๋ฐ DCI for Docker Enterprise์ ๊ฐ์ ํ๋ก๋์ ์๋ฒ์ฉ ๋ค๋ฅธ ๋๊ตฌ๊ฐ ์์ต๋๋ค.
๋๋ ์ค๋๋ http://boot2docker.io ์น ์ฌ์ดํธ์ ๋ํด ์์ ํ ์๊ณ ์์๊ณ ๋๋ฌด ํํธ์๋ ๋ง์ด ์๋ค๋ ๊ฒ์ ๊นจ๋ซ์ง ๋ชปํ์ต๋๋ค. (ํผ๋์ ๊ธฐ์ฌํ ๊ฒ์ ๋ํด ์ฌ๊ณผ๋๋ฆฝ๋๋ค!)-๋๋ ์ง๊ธ ์ ๋ฐ์ดํธํ์ต๋๋ค. ๊ณ ๋ CLI โโ๋๊ตฌ ์ธ boot2docker๊ฐ Docker Machine์ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์๊ณ ๋ฐฐํฌํ ์ธ boot2docker๊ฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ฒ์ด ์๋๋ผ ์ ์ง ๊ด๋ฆฌ ๋ชจ๋ (Docker Machine๊ณผ ๋์ผ)์์ ๋ ์ ์ค๋ช ํ๋ ๋ด์ฉ์ ๋๋ค.
๋ค์ ๋งํด, ์๋ก์ด Docker ๋ฆด๋ฆฌ์ค, ์ปค๋ ์ ๋ฐ์ดํธ ๋ฑ์ด์ง๋ง ์์ง ๋ ์ ํฉํ Windows ์ฉ Docker๋ก ์ ํ ํ ์์๋ ์์์ ์ฌ๋๋ค์ ์ํด ์ง์์ ์ธ ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ์๋ก์ด ๊ธฐ๋ฅ / ๊ธฐ๋ฅ์ ์ต์ํ์ผ๋ก ์ ์งํ๋ ค๋ ๊ณต๋ ์๋ / Mac ์ฉ Docker ์ ํ ๋๋ ํ๋ก๋์ ์๋ฒ ๋๊ตฌ / ์์์ ์ธ๊ธ ํ ์๋ฃจ์ (Windows ์ฉ Docker๋ฅผ ์ ํ ์ฌ์ฉํ ์์๋ Windows 7 ์ฌ์ฉ์, ๋ฐ๋ผ์ Hyper-V๋ฅผ ์ํ ํ ์์๋ Windows 10 Home ์ฌ์ฉ์, ๋ฐ๋ผ์ Hyper-V๋ฅผ ์ํ ํ ์์๋ VirtualBox ์ฌ์ฉ์- V ๋ฑ).
@tianon : Mac ๋๋ Windows๋ก ์ ํํ๊ณ ์ถ์ง ์์ Linux ์ฌ์ฉ์๋ฅผ ์ธ๊ธ ํ ์๋ ์์ต๋๋ค.
@afbjorklund ์ด๋ฏธ Linux๋ฅผ ์ฌ์ฉํ๊ณ boot2docker ๊ฐ ํ์ํฉ๋๊น?
@Vanuan : ๋ฐฐํฌํ์ด ๋๋ฌด ์ค๋๋์๊ฑฐ๋ (์ : RHEL6) ๋ฃจํธ๊ฐ ํ์ฉ๋์ง ์์๊ธฐ ๋๋ฌธ์ ...
์ด๋ ์ชฝ์ด๋ Docker Desktop์ผ๋ก ์ ํํ๋ ๊ฒ์ ์ต์ ์ด _ ์๋๋๋ค _-Docker Engine ๋๋ DIY LinuxKit?
๋์ปค๋ฅผ ๋ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํด์ค docker-machine ๋ฐ boot2docker ์ ์์์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋จธ์ ๋๋ผ์ด๋ฒ (KVM ์ฉ)์ ๋ ธ๋ ฅ์ผ๋ก ์ ์ ๋์ ๊ณ์ ์๋ํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋ฐ์คํฌํ ์ฉ ์๋ฒ ๋ฐฐํฌํ์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ทธ๋ฆฌ๊ณ ์ ๋ด๊ฐ ๋ด ๋ฐ์คํฌํ์ ๊ด๋ฆฌ์๊ฐ ์๋๊ฐ? ํ์ง๋ง ์ด๋ป๊ฒ ๋ KVM์ ์ก์ธ์ค ํ ์ ์์ต๋๊น?
KVM ์๋ฒ์์ docker๋ฅผ ์คํํ๋ ์๋ฃจ์ ์ ์ฐพ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ๊ฒฝ์ฐ, ์ ๋ ํ์ฌ ์ฌ๊ธฐ์์ ์ธํ๋ผ ํท์ ํ์ํ๊ณ ์์ต๋๋ค : https://github.com/docker/infrakit/issues/913
๊ทธ๋ฌ๋ Linux ๋ฐ์คํฌํฑ์์ docker๋ฅผ ์คํํ๋ ค๋ ๊ฒฝ์ฐ Docker CE์ ํจ๊ป ์ต์ Ubuntu๋ฅผ ์ค์นํ์ง ์๋ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค. VM์์ ์คํํ๋ ค๋ฉด ์คํํ์ญ์์ค. VirtualBox์ ํ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์ดํธํ๊ณ SSH๋ฅผ ํตํด Docker๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ๋ ๋ฌด์์ ๋๊น? ๋ง์ด๋์ง ์๊ธฐ ๋๋ฌธ์ Linux Desktop ์ฉ Docker๊ฐ ์์ต๋๋ค. ์ ์ด๋ ๋์๊ฒ๋.
๋ฐ์คํฌํ ์ฉ ์๋ฒ ๋ฐฐํฌํ์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ทธ๋ฆฌ๊ณ ์ ๋ด๊ฐ ๋ด ๋ฐ์คํฌํ์ ๊ด๋ฆฌ์๊ฐ ์๋๊ฐ? ํ์ง๋ง ์ด๋ป๊ฒ ๋ KVM์ ์ก์ธ์ค ํ ์ ์์ต๋๊น?
์ด๋ค ์ฌ๋๋ค์ ๊ณ ์ฉ์ฃผ๊ฐ ๋งก์ ๋ฐ์คํฌํฑ OS๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค. RHEL6์ ์ ๊ฐ (๋ช ๋ฌ ์ ) ์ฃผ์ ๊ฑฐ๋์์์ ์ผํ๋ ํ ๋จ์๊ฐ ๋ค์๋ ์์ ๋๋ค. :๋์ง:
์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํฌ์ธํธ๋ก Libvirt๋ฅผ ์ฌ์ฉํ๋ฉด (์ ์ด๋ ์์ ์๋) ์ฌ์ฉ์๊ฐ ์์ ์ ๊ณ์ ์์ ์คํํ ์์๋ VM ๊ฐ๋ ์ด ์์ต๋๋ค. ์ : ๋์ผํ ์ปดํจํฐ์ ๋ก๊ทธ์ธ ํ ๋ค๋ฅธ ์ฌ๋์ด ์ก์ธ์ค ํ ์ ์์
๋๋ถ๋ถ์ Libvirt ๊ฐ๋ฐ ๋ ธ๋ ฅ์ด ์ฌ์ฉ์ ์์ค์ด ์๋ "์์คํ ์์ค"VM์ผ๋ก ์งํ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ด ์ด๋ค ๊น์ด๋ก ๊ฐ๋ฐ๋์๋์ง ํ์คํ์ง ์์ต๋๋ค.
Linux ๋ฐ์คํฌํฑ์์๋ง ๋์ปค๋ฅผ ์คํํ๋ ค๋ ๊ฒฝ์ฐ ์ต์ Ubuntu๋ฅผ ์ค์นํ์ง ์๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
๋ง์ ์ฌ๋๋ค์ด ์ฐ๋ถํฌ๋ฅผ ์ซ์ดํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. :๋์ง:
v18.09 ( DOCKER_HOST=ssh://
)๋ถํฐ docker-machine
์์ด ์๊ฒฉ Docker ๋จธ์ ์ ์ค์ ํ๋ ๊ฒ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค. https://medium.com/lucjuggery/docker-tips-access-the-docker- ssh-97cd6b44a53์ ํตํ ๋ฐ๋ชฌ
์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ํฌ์ธํธ๋ก Libvirt๋ฅผ ์ฌ์ฉํ๋ฉด (์ ์ด๋ ์์ ์๋) ์ฌ์ฉ์๊ฐ ์์ ์ ๊ณ์ ์์ ์คํํ ์์๋ VM ๊ฐ๋ ์ด ์์ต๋๋ค. ์ : ๋์ผํ ์ปดํจํฐ์ ๋ก๊ทธ์ธ ํ ๋ค๋ฅธ ์ฌ๋์ด ์ก์ธ์ค ํ ์ ์์
์, qemu : // session ์ด๋ผ๊ณ ํฉ๋๋ค
์ต์ GNOME์๋์ด๋ฅผ์ํ ๋ฉ์ง ์ฑ๋ ์์ต๋๋ค-Boxes : https://en.wikipedia.org/wiki/GNOME_Boxes
์ฌ์ฉ์ ๋ชจ๋ KVM ๊ฐ์ํ์๋ ๋คํธ์ํน๊ณผ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ Virtualbox๊ฐ ๊ทธ๋ฌํ ์กฐ๊ฑด์์ ์ ์ผํ ์ ํ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ VirtualBox ์ฉ CLI๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ ํ์ด ๋ฐฉํฉํฉ๋๋ค. Docker๋ฅผ ์คํํ๋ ค๋ฉด Linux ๋ฐฐํฌํ ๋ง ํ์ํฉ๋๋ค. ๊ฐ์ฅ ๋ง์ด ํ ์คํธ ๋ ์ ํฌ๋ Ubuntu / Debian์ ๋๋ค. ํ์ง๋ง ๋ค๋ฅธ ๋ฐฐํฌํ์ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค. ํ์ง๋ง Vagrant์ ํจ๊ป ์ฌ์ฉํ๋ ค๋ฉด ์ง์ ํจํค์งํด์ผํฉ๋๋ค. https://www.vagrantup.com/docs/virtualbox/boxes.html
docker-machine
์ด (๊ฐ) ์ด์ Mac ๋ฐ ์ด์ Windows ์ฌ์ฉ์์ ๋ง์ฐฌ๊ฐ์ง๋ก Linux ์ฌ์ฉ์์๊ฒ ์ข์ ์๋ฃจ์
์ด๋ผ๊ณ ๋ง ๋งํ๋ฉด ... ํ์ํ ๋ชจ๋ ๊ฒ์ ๋นํ์ค ํฌํธ์์ docker๋ฅผ ์คํํ๋ ๊ฒ์
๋๋ค. ํ๋ ์ฝ๋ฉ ๋ 2376? ๊ทธ๋ฆฌ๊ณ libvirt ๊ทธ๋ฃน (์ : ๋ฃจํธ)์ด ํ์ํ์ง ์์ ์๋ก์ด qemu ๋๋ผ์ด๋ฒ. ๋ฏธ๋์๋ ์ธํ๋ผ ํท / ํ์ดํผ ํท์ด ๋์์ด ๋ ์ ์์ง๋ง ํ์ฌ๋ก์๋ (์์ ๋งํฌ) ๊ฐ์ฅ์๋ฆฌ ์ฃผ๋ณ์ด ์ฌ์ ํ ๊ฑฐ์น ์ด ๋ณด์
๋๋ค.
@Vanuan : ์ฐ๋ถํฌ / ๋ฐฉ๋์ ์ต์ ์ ๋ํด ์๊ณ ์์ต๋๋ค. ์์ " Docker Engine "์ด๋ผ๊ณ ๊ฐ๋จํ ์ธ๊ธํ์ต๋๋ค.
@justinclift : ๊ฐ ์ฌ์ฉ์๋ ์์ ์ ssh ํค / ๋์ปค ์ธ์ฆ์๋ฅผ
@afbjorklund ๊ฑฑ์ ๋ง์ธ์. Libvirt ํ์์ Red Hat์์ ์ผํ ์ง ๋ช ๋ ์ด ์ง๋ฌ์ต๋๋ค. ์์ฆ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ์ง๋จ ํ ๋ ๋งค์ฐ ์ฌ์ธต์ ์ผ๋ก ์ฌ์ฉํ๋ ๋์ ์ฌ์ฉํฉ๋๋ค. :๋ฏธ์:
@afbjorklund ์ด๊ฒ์ ์ ๋ฆฌ ํฉ์๋ค.
Mac ๋๋ Windows๋ก ์ ํํ๊ธฐ๋ฅผ ์ํ์ง ์๋ Linux ์ฌ์ฉ์๋ฅผ ์ธ๊ธ ํ ์๋ ์์ต๋๋ค.
์ด๋ ์ชฝ์ด๋ Docker Desktop์ผ๋ก ์ ํํ๋ ๊ฒ์ ์ต์ ์ด ์๋๋๋ค. Docker Engine ๋๋ DIY LinuxKit์ ๋๊น?
์ฐ๋ถํฌ / ๋ฐฉ๋์ ์ต์ ์ ๋ํด ์๊ณ ์์ต๋๋ค. ์์์ ๊ฐ๋จํ "Docker Engine"์ด๋ผ๊ณ ์ธ๊ธํ์ต๋๋ค.
boot2docker๋ ๋ฐฐํฌ ( boot2docker.iso )์ด์ boot2docker-cli )์ ๋๋ค. boot2docker.iso ์๋ Docker CE (์ด์ Docker Engine)๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์๋ก์ด Docker CE ๋ฆด๋ฆฌ์ค๋ก ๊ณ์ ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
boot2docker-cli ๋ ์ฌ๋ผ์ก์ง ๋ง ๋ณธ์ง์ ์ผ๋ก virtualbox๋ก ๋ฐฉ๋ํฉ๋๋ค. Vagrant๋ ์์ง ์ฃผ๋ณ์ ์์ต๋๋ค.
KVM ๋๋ผ์ด๋ฒ ๊ฐ์๋ boot2docker.iso ๋ฅผ ์ฌ์ฉํ์ฌ _Docker CE_๋ฅผ ์ libvirt VM์ ํ๋ก๋น์ ๋ํฉ๋๋ค.
Docker Desktop ์ linuxkit ์ผ๋ก ๋น๋ ๋ ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ์ฌ _Docker CE_๋ฅผ Hyper-V ๋ฐ xhyve์ ํ๋ก๋น์ ๋ํฉ๋๋ค.
๋ชจ๋ ๊ฒ์ ๋ฌ์ฌํ๋ ค๋ฉด :
๋ณด์๋ค์ํผ ๋ชจ๋ ์๋ฃจ์ ์๋ Docker Engine (ํ์ฌ Linux ์ฉ Docker CE ๋ผ๊ณ ํจ)์ด ํ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ํฌํจ๋์ด ์์ต๋๋ค.
๋๋ฌด ๋ง์ ํ๊ฒฝ๊ณผ ๊ฐ์ํ / ํด๋ผ์ฐ๋ ์๋ฃจ์ ์ด ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก windows / mac / linux์์ ๋์ผํ๊ฒ ์๋ํ๊ณ ๋ค๋ฅธ ํด๋ผ์ฐ๋ ๋ฐ over-SSH ํ๋ก๋น์ ๋๊ณผ ํจ๊ป QEMU / Virtualbox / xhyve / Hyper-v๋ฅผ ์ง์ํ ์์๋ ๋๊ตฌ๋ ์์ต๋๋ค. ๋ํ ์ด๋ฌํ ๋๊ตฌ์๋ ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ์ด ํ์ํฉ๋๋ค. ๋ค๋ฅธ ํฌํธ ์ง์, ๋ฉ๋ชจ๋ฆฌ / cpu ๋ฆฌ์์ค ๊ด๋ฆฌ, ๋คํธ์ํน ๋ฑ. ๋ฐ๋ผ์ http๋ฅผ ํตํด ๋ค์ด๋ก๋ ํ ์ผ๋ถ ๊ตฌ์ฑ ํ์ผ๊ณผ ํจ๊ป ๋ฒ์ฉ ๋๊ตฌ๊ฐ ์ต์์ ์๋ฃจ์ ์ด ๋ ์ ์์ต๋๋ค.
@Vanuan : ๋ค, ์ฐ๋ฆฌ๊ฐ ์์์ ๋งํ ๊ฒ์ ๋๋ค. docker-machine์ ๊ต์ฒดํ๋ ค๋ฉด ์ ์ด๋ _someone_์ด LinuxKit ๋ฐ libvirt์ ์ ์ฌํ ๊ฒ์ ์์ฑ ํ ๋๊น์ง Mac ๋๋ Windows ๋ฐ Docker Desktop์ผ๋ก ์ ํํด์ผํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๋ ์ด์ boot2docker-cli์ ๋ํด ์ด์ผ๊ธฐ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Linux ๋๋ผ์ด๋ฒ์ ๋ํ ์ง์์ _ ์ด๋ฏธ _ "machine-drivers"์กฐ์ง์ผ๋ก ์ฎ๊ฒจ์ก์ต๋๋ค. VirtualBox ๋ง ํ์ค docker-machine์์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
@ shin- ๋ ์ด์ ์๋ก์ด ๊ธฐ๋ฅ์ ํ์ฉํ์ง ์๋ ๊ฒฝ์ฐ README.md
๋ฐ CONTRIBUTING.md
์๋จ์ ๋งค์ฐ ๋ช
ํํ ๋ฉ๋ชจ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ํ์ผ์ ๋ชจ๋์ฃผ์ ๊น๊ฒ ์ฝ๊ณ ๋๋ผ์ด๋ฒ๋ฅผ ๊ตฌํํ๊ณ (์์ผ ๋์ ์์ ) ๋ ์ด์ ๋๋ผ์ด๋ฒ๋ฅผ ๋ณํฉํ์ง ์์ ๊ฒ์ด๋ผ๋ ์ฌ์ค์ ๊นจ๋ซ์ง ๋ชปํ๋ ๊ฒ์ ๋งค์ฐ ์ฑ๊ฐ์ ์ผ์ ๋๋ค. ์ด๊ฒ์ ํจ์ฌ ๋ ๋ช ํํด์ผํฉ๋๋ค.
์ด ๋ชจ๋ ๊ฒ์ด ์คํด์ด๊ณ ์ฌ์ ํ ๋ด ๋๋ผ์ด๋ฒ๋ฅผ ์์ฒญํ๋ ๊ฒ์ด ํ์ฉ๋๋ ๊ฒฝ์ฐ ์๋ ค์ฃผ์ญ์์ค. ์ง๊ธ์ ์ฌ๋๋ค์ด ํ ๋ฆฌํ์คํธ๋ฅผ ์์ฑํ๋ฉด ๋ณผ ์์๋ ์จ๊ฒจ์ง ํ์ผ์๋ง ์ธ๊ธ๋์ด ์์ต๋๋ค.
README.md
๋ฐ / ๋๋ CONTRIBUTING.md
์ ์ง ๊ด๋ฆฌ ๋ชจ๋์ ๋ํ ๋ช
ํํ ์ ๋ณด๊ฐ ์์ง ์์ต๋๋ค. ๋๋ ๋์ปค ๋ฐฐํฌ ProxmoxVE VM ์์ฑ ๋ฐ ๊ฒฝ๋ ๋ฆฌ๋
์ค ์๋ฃจ์
์ ์์
์์ ๊ทธ๋ฆผ์ ๋ด ํด๊ฐ ์๊ฐ์ ์ ๋ฐ์ ๋ณด๋๋ค - ๋๋ ์กฐํฉ์ ๋ฐ๊ฒฌ docker-machine
+๋ฅผ ๊ณ ์ ํ์๊ธฐ - ๊ธฐ๊ณ ๋๋ผ์ด๋ฒ proxmox์ด-ํ์ต๋๋ค ๊ทธ ์ฌ์ฉ์ ์ํด ์์ฃผ ์ข์ ์ผ์ ์ผ์ด์ค. ๋ถํํ๋ ๊ทธ๊ฒ์ boot2docker์ ์์กดํ๋๋ฐ, ์ด๊ฒ์ docker-machine
๋ฅผ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ผ๋ถ ์ค๋ ๋์ ๊ด๋ฆฌ์๋ Rancher OS๋ฅผ ์ ์ํฉ๋๋ค. docker-machine
๊ทธ๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ฅผ ๋ช
ํํ๊ฒ ์ ์ํ์ง ์๊ณ ์ ์ง ๊ด๋ฆฌ ๋ชจ๋๋ก ์ด๋ํฉ๋๋ค (๋ฒ๊ทธ ์์ ๋ง ํ์ฉ๋๋ฉฐ ์๋ก์ด ํ๋ก์ ํธ์ ๋ํด ๊ด์ฐฎ๋ค๊ณ ์ ์ํ๋ ๊ฒ์ ๋ชจ์๋๋ IMO์
๋๋ค). 2018 ๋
8 ์์ ๊ณต์ ๋ฐํ๊ฐ ์ธ๊ธ๋์์ง๋ง ์ฌ๊ธฐ์ ์ธ๊ธ ๋ ์งํ๋ ์์ต๋๋ค.
์ธ๋ถ์ธ์ ๊ด์ ์์ SMB๋ฅผ์ํ ํฉ๋ฆฌ์ ์ธ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๋ ค๋ ๊ฒฝ์ฐ docker-machine
๋ ์ฌ๋ฐ๋ฅธ ์ฅ๊ธฐ ์๋ฃจ์
์ฒ๋ผ ๋ณด์ด์ง ์์ต๋๋ค. ๋๊ตฌ๋ ์ง ProxmoxVE VM์ ํ์ดํผ ๋ฐ์ด์ ๋ฐ Docker๋ฅผ ์ง์ํ๋ ์ต์ Linux๋ก ํ๋ก๋น์ ๋ํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ Reasonably Good โข์ด ๋ฌด์์ธ์ง ์ ์ ํ ์ ์์ต๋๊น?
๋ถํํ๋ ๊ทธ๊ฒ์ boot2docker์ ์์กดํ๋๋ฐ, ์ด๊ฒ์ ๋์ปค ๋จธ์ ์ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค๊ณ ๋งํ๋ฉฐ ์ผ๋ถ ์ค๋ ๋์ ์ ์ง ๊ด๋ฆฌ์๋ Rancher OS๋ฅผ ์ ์ํฉ๋๋ค.
boot2docker๊ฐ docker-machine์ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค๊ณ ์ฃผ์ฅํ๋ ๊ณณ์ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช
ํด ์ฃผ์๋ฉด ์ ์ ํ๊ฒ ์ค๋ช
ํ ์ ์์ต๋๊น? (์ง๊ธ๊น์ง ํ๋ฐํ๊ฒ ์ ์ง ๊ด๋ฆฌ๋์ง ์์ ๊ณ ๋ boot2docker
CLI ๋๊ตฌ๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ธ๊ธํ์ง ์๋ ํ ์ฌ์ค์ด ์๋๊ธฐ ๋๋ฌธ์
๋๋ค)
boot2docker
๋ฐฐํฌ (ํนํ Docker CE์ ๋ชจ๋ ์ ๋ฆด๋ฆฌ์ค์ ํจ๊ป ๋ฆด๋ฆฌ์ค ๋ boot2docker.iso
์ํฐํฉํธ)๋ ๋งค์ฐ ์ข์ ์ด์ ์ ๊ฐ์ง๊ณ ์์ง๋ง ์ ๊ฐ ์๊ณ ์๋ ์ฆ์ ์ฌ๋ผ์ง์ง ์์ต๋๋ค. ์ด์ (๋ฐ๋ผ์ ์๋ก์ด ๊ธฐ๋ฅ / ๊ธฐ๋ฅ์ ๋ณํฉ์ ๊ณ ๋ ค๋์ง ์์ ๊ฒ์
๋๋ค).
@tianon ๋น์ ์ด ๋ง์์, ํผ๋ boot2docker CLI
๋์ด ์์ต๋๋ค. ์ธ๋ป๋ณด๊ธฐ์ ์ฐจ์ด๊ฐ ์๋์ง ๋ช
ํํ์ง ์์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ boot2docker.iso
์ง๋ฉด ํ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ฌ์ฉ์๋ค๋ ํผ๋ ์ค๋ฌ์ธ ์ ์๋ค๊ณ ํ์ ํฉ๋๋ค. boot2docker CLI
๋ ๋น์ ์ด ๋ค์ด ๋ณธ ์ ์ด์๋ ๋ง๋ก ํ๋ก์ ํธ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋งํ๊ธฐ๋ ์ด๋ ต์ต๋๋ค. OTOH boot2docker.iso
๋ฌธ "maintenance mode"
๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ชจํธ docker-machine
๋๋์ ๋ฐ๋ผ ๊ฒฐ๋ก ์ด ์๋ต .
ํผ๋์ ์์ฝํ๋ฉด :
"maintenance mode"
-๋ ํ๋ก์ ํธ ๋ชจ๋์์ ๋ช
ํํ์ง ์์ต๋๋ค. ์๊ท๋ชจ ๋น์ฆ๋์ค์์ ํ๋ก๋์
์ ์ฌ์ฉํ ์ ์์ต๋๊น?docker-machine
์ด ํ๋ก๋์
์ ๊ด์ฐฎ๋ค๋ฉด @tianon ๊ณผ @ shin-๋ก๋ถํฐ ๋ช
ํํ ์ง์ ์ํ๋ ๊ฒ์ด ์ด์์ ์ผ๊น์?
Docker Machine์ ๋ํด ๋งํ ์๋ ์์ง๋ง boot2docker๋ ํ๋ก๋์ ์์ํ ์ข์ ์ ํ์ด ์๋๋๋ค. ๋ชฉํ๋ ๊ฐ๋ฐ / ๊ฐ์ธ ์ํฌ ์คํ ์ด์ ์ฌ์ฉ์ ๋๋ค.
https://github.com/boot2docker/boot2docker#readme์ ์ถ๊ฐ ๋ ์ฐธ๊ณ ์ฌํญ๋ ์ฐธ์กฐ
๋ค๋ฅธ ๋ง์ ์ฌ๋๋ค๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก SMB ํด๋ผ์ด์ธํธ ์ฉ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ ธ๋ ฅํ ํ Github Issues์์ ์ด์ ๋ํด ๋ฐฐ์ฐ๊ณ ๋ต๋ตํ์ต๋๋ค.
๋๋ ๊ณต์ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด PR์ ๋ง๋ค์๊ณ ๊ธฐ๊ณ์ ์ ์ง ๊ด๋ฆฌ ๋ชจ๋์ ๋ํ ์กฐ์ธ์ ์ถ๊ฐํ์ต๋๋ค.
๋์ปค ์์๋ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค https://docs.docker.com/get-started/part4/
ํธ์ง : aws ec2 ์ธ์คํด์ค์ docker-ce
๋ฅผ ์ค์น ํ ๋ค์ ssh ํฌํธ๊ฐ docker ๋ฐ๋ชฌ์ ์ ๋ฌํ๋ ์๋ฃจ์
์ ์ฐพ์์ต๋๋ค.
ssh -NL localhost:23750:/var/run/docker.sock -i ***.pem ubuntu@***.compute.amazonaws.com
docker -H tcp://localhost:23750 run hello-world
Docker Desktop๊ณผ ํจ๊ป ์ค์น ๋์๊ธฐ ๋๋ฌธ์ ์ต๊ทผ์ docker-machine์ ์ฌ์ฉํ๊ธฐ ์์ํ์ผ๋ฉฐ ๋ก์ปฌ ์ปดํจํฐ๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ aws ์ธ์คํด์ค์์ docker๋ฅผ ์คํํ ์ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ฅ์ ์ Visual Studio Code์ ๊ฐ์ด docker ๋ช ๋ น์ ์ฌ์ฉํ๋ ๋ก์ปฌ ์ฑ์ด ๋ง์น ๋ก์ปฌ์์ ์คํ๋๋ ๊ฒ์ฒ๋ผ docker-machine ์ปจํ ์ด๋์ ํจ๊ป ์๋ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
infrakit, kubernetes ๋ฑ์ ํฌํจํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ํ๋ก๋น์ ๋ํ๋ ๋ง์ ์๋ก์ด ๋ฐฉ๋ฒ์ด์๋ ๊ฒ์ฒ๋ผ docker-machine์ด ๋์ฒด๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์คํด ํ ์ ์์ต๋๋ค. ์์์ ์ค๋ช ํ ์์ ์ ์ํํ๊ธฐ์ํ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ต์ด ์์ต๋๊น?
GitLab Runner ๋๊ตฌ์ ํจ๊ป GitLab์ ์ฌ์ฉํ์ฌ CI / CD ์์ ์คํ์์ํ EC2 ์คํ ์ธ์คํด์ค๋ฅผ ๋์ ์ผ๋ก ํ๋ก๋น์ ๋ํฉ๋๋ค. GitLab Runner๋ Docker Machine์ ์ฌ์ฉํ์ฌ์ด ๋จธ์ ํ๋ก๋น์ ๋์ ์ํํฉ๋๋ค.
์ฐ๋ฆฌ๋ Amazon Linux 2๋ฅผ ์ํด ๋ชจ๋ ์๋น์ค๋ฅผ ์ฐ๋ถํฌ์์ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ธฐ์๊ฒ๋ PR # 3609๋์ด๋ฅผ ํ์ฉํฉ๋๋ค.
๊ทธ๋ฌ๋์ด "์๋๊ผญ์ง ๋ซํ"๋๋ฌธ์ # 3609๋ ์ ์๋ฆฌ์์ ์ฃฝ์ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ฌ ์ถฉ๋ํ์ง ์๋ ๋ณํฉ ๊ฐ๋ฅํ ์ํ์์ ๋ณํฉ์ ๊ณ ๋ คํ์ญ์์ค.
Gitlab์ ์ง์๋ค์ ์ด๋ฏธ ํฌํฌ๋ฅผ ์ ์งํ๊ณ ์๊ธฐ ๋๋ฌธ์์ด ์ ์ฅ์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๊ด์ฌ์ด์์ ์ ์์ต๋๊น?
@ usha-mandya @ Dawn-Wood docker / docker.github.io # 9239์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ๋ค์ ๋งํด ๋ชจ๋ Docker Machine ํ์ด์ง์ ๊ถ๊ณ ๊ฒฝ๊ณ ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด๊ฒ์ ํฉ๋ณ๋์์ง๋ง ์ํฐํ๋ผ์ด์ฆ ๋ถํ ์ด ์งํ๋๋ ๋์ ๋๋๋ ค ์ ธ DM์ ๋ฏธ๋์ ๋ํด ๋ช ๊ฐ์ง ๊ฒฐ์ ์ ๋ด๋ฆด ์์์์ต๋๋ค. DM์ด ๊ณ์ ์ ์ง ๊ด๋ฆฌ ๋ชจ๋์์์ ๊ฒฝ์ฐ์ด ๊ถ๊ณ ๊ฐ ์์ผ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
Docker Desktop์ ์ต์ ๋ฒ์ ์ธ AFAIK์๋ ๋ ์ด์ docker-machine
ํฌํจ๋์ง ์์ต๋๋ค.
Docker Desktop์ ์ต์ ๋ฒ์ ์ธ AFAIK์๋ ๋ ์ด์ docker-machine์ด ํฌํจ๋์ง ์์ต๋๋ค.
๋ฐ์คํฌํฑ 2.2.0.0 ์ฉ ๋์ปค๋ก ์ ๋ฐ์ดํธ ํ ํ ๋ด๋ถ ๋์ปค-๋จธ์ ํด๋ง์ด ์๋์ ๋ฉ ์ท๊ธฐ ๋๋ฌธ์์ด ๋ฌธ์ ์ ๋ํด ๋ฐฉ๊ธ ๋ฐฐ์ ์ต๋๋ค.
๋ฐ์คํฌํฑ ๋ฆด๋ฆฌ์ค ๋ ธํธ์ ๋์ปค์์๋ ์ธ๊ธ๋์ง ์์์ด ์์ง์์ ๋ค์ ์ง์ฆ์ด๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ Hyper-V ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๋ด๋ถ DEV ๋ฐ ์คํ ์ด์ง ํ๊ฒฝ์ ์ํด ๊ณต์ booot2docker ๊ธฐ๋ฐ docker-machine์ ๊ด๋ฆฌํ๊ณ ์ ์งํ๊ธฐ ์ํด docker-machine์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค (๋ฐ๋ผ์ docker-machine์ ์ฌ์ฉํ์ฌ boot2docker hyper-v VM์ ํ๋ก๋น์ ๋ํฉ๋๋ค). ๋ฐ๋ผ์ Linux ๋ฐ Mac ํด๋ผ์ด์ธํธ๊ฐ์์ด Windows / OS x ์ฉ docker๋ฅผ ์ฌ์ฉํ์ง๋ง CI / CD ์์ ์ ์ํด ์ฌ์ ํ docker-machine์ ํฌ๊ฒ ์์กดํฉ๋๋ค.
์ด ์ค์ ์ ๋ํ ์ ์ฌํ ๋์ฒด ๋ฐฉ๋ฒ์ ์์ง ๋ชปํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ถ๋ช ํ ๊ฒ์ด ๋๋ฝ ๋์์ต๋๊น?
brew (macOS)๋ฅผ ์ฌ์ฉํ์ฌ ํญ์ ์ต์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ง์
์ ์ฅ์์์. ์ฌ์ ํ ์ ์ง (ํจ์น) ์ค์ด์ง๋ง ๋๋ฆฌ๊ฒ
Docker Desktop๊ณผ ๊ฐ์ ๋๊ตฌ์์ ๋จ๊ณ์ ์ผ๋ก ์ ๊ฑฐ๋์์ต๋๋ค.
https://github.com/docker/machine/releases
2020 ๋ 1 ์ 27 ์ผ ์์์ผ ์ค์ 11:47 sambernet [email protected] ์์ฑ :
Docker Desktop์ ์ต์ ๋ฒ์ ์ธ AFAIK์๋ ๋ ์ด์
๋์ปค ๋จธ์Docker Desktop์ ์ต์ ๋ฒ์ ์ธ AFAIK์๋ ๋ ์ด์
๋์ปค ๋จธ์์ฐ๋ฆฌ์ ๋ด๋ถ ๋์ปค ๋จธ์ ์ผ๋ก์์ด ๋ฌธ์ ์ ๋ํด ๋ฐฉ๊ธ ๋ฐฐ์ ์ต๋๋ค.
๋ฐ์คํฌํฑ 2.2.0.0 ์ฉ Docker๋ก ์ ๋ฐ์ดํธ ํ ํ ๋๊ตฌ ์๋์ด ์ค์ง๋จ์ด ์์ง์์ ๋์ปค์์ ์ธ๊ธ๋์ง ์์ ์ผ์ข ์ ์ง์ฆ์ ๋๋ค.
๋ฐ์คํฌํฑ ๋ฆด๋ฆฌ์ค ์ ๋ณด ์ค ํ๋์ ๋๋ค.์ฐ๋ฆฌ๋ ๊ณต์ ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ์งํ๊ธฐ ์ํด docker-machine์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
๋ด๋ถ DEV ๋ฐ ์คํ ์ด์ง์์ํ booot2docker ๊ธฐ๋ฐ ๋์ปค ๋จธ์
Hyper-V ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ (๋ฐ๋ผ์ boot2docker hyper-v๋ฅผ ํ๋ก๋น์ ๋
docker-machine์ ์ฌ์ฉํ๋ VM). ๋ฐ๋ผ์ Linux ๋ฐ Mac ํด๋ผ์ด์ธํธ๊ฐ ์๊ณ
๋ฐ๋ผ์ windows / os x์ docker๋ฅผ ์ฌ์ฉํ์ง๋ง ์ฌ์ ํ docker-machine์ ํฌ๊ฒ ์์กดํฉ๋๋ค.
์ฐ๋ฆฌ์ CI / CD ๋ฌผ๊ฑด์ ์ํด.์ด ์ค์ ์ ๋ํ ์ ์ฌํ ๋์ฒด ๋ฐฉ๋ฒ์ ์์ง ๋ชปํฉ๋๋ค. ๋๋ฝ ๋์์ต๋๊น?
์ฌ๊ธฐ์ ๋ช ๋ฐฑํ ๊ฒ์ด ์์ต๋๊น?โ
์ด ์ค๋ ๋๋ฅผ ๊ตฌ๋ ํ๊ธฐ ๋๋ฌธ์์ด ๋ฉ์์ง๊ฐ ์ ์ก๋์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/docker/machine/issues/4537?email_source=notifications&email_token=AAGBNX2APIHK6CBNGSAMLDDQ74FYPA5CNFSM4FJ53G3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNEKG578VXHJKTDN5WW2935JKTDN5WW2935
๋๋ ๊ตฌ๋ ์ทจ์
https://github.com/notifications/unsubscribe-auth/AAGBNXZV7PCYP3TLWSZ7QODQ74FYPANCNFSM4FJ53G3A
.
๋๋ ๋ํ ์ง๋์ฃผ์ ๋์ปค ๋จธ์ ์ด ์ด๋ ค์ด ๋ฐฉ์์ผ๋ก ๋จ๊ณ์ ์ผ๋ก ์ฌ๋ผ ์ก๋ค๋ ๊ฒ์ ๋ฐฐ์ ์ต๋๋ค ๐
docs.docker.com์์ docker-machine์ด "๋์ฒด ๋จ"์ด๋ผ๊ณ ํ์๋์ง๋ง ๋์ฒด ๋์์ ๋ํ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. SOMEthing์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ Virtualbox ์์คํ
์ ๊ณ์ ๊ด๋ฆฌํ๊ณ ์ถ์ต๋๋ค. ๋ฏธ๋๋ฅผ ๋๋นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํ์ด ์์ต๋๊น?
export DOCKER_HOST = ssh : // user @ host ๊ฐ ์ ํฉ ํ ์ ์์ต๋๋ค.
SOMEthing์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ Virtualbox ์์คํ ์ ๊ณ์ ๊ด๋ฆฌํ๊ณ ์ถ์ต๋๋ค. ๋ฏธ๋๋ฅผ ๋๋นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํ์ด ์์ต๋๊น?
์๋ง๋ Vagrant๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๊น? ๋๋ ๊ณ์ํด์ docker-machine
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ ์ด์ Docker (๋ฐ์คํฌํฑ)์ ์ผ๋ถ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ํด ์ฌ๊ธฐ์ ์์ผํฉ๋๋ค.
์ด ์ค์ ์ ๋ํ ์ ์ฌํ ๋์ฒด ๋ฐฉ๋ฒ์ ์์ง ๋ชปํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ถ๋ช ํ ๊ฒ์ด ๋๋ฝ ๋์์ต๋๊น?
๋์ฒดํ์ ์์ง๋ง ๋ง์ ์ฌ๋๋ค์ด machine๊ณผ libmachine์ ์ง์์ ์ธ ์ฌ์ฉ์ ๊ด์ฌ์ด ์์ต๋๋ค.
๋ฌผ๋ก _alternatives_ (๋ค๋ฅธ ์ ํ)๊ฐ ์์ง๋ง ์ค์ ๋ก๋ ํฌํฌ์ ๊ฐ์ ๊ฒ์ด ์๋๋๋ค.
@afbjorklund ๊ธ์, ๋๋ ๋์ปค ๋จธ์ ์ด ์ฃผ๋ณ์ ๋ถ์ด ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค ... ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์์ ์ง์ ๊ฐ์ ธ์ค๊ณ ์ถ์ง๋ง, ์ด๋ค ์ด์ ๋ก ๋ github์์ ๋ค์ด๋ก๋ํ๋ ๊ฒ์ด ์ ์๊ฒ ๋๋ฆฝ๋๋ค. ์ฒ์ 10-12MB๋ ๋ช ์ด ์์ (์ ๊ฐ ๊ฝค ๋น ๋ฅธ ํ์ ์ผ๋ก ์์ํ๋ฏ์ด) ๋ค์ด์จ ๋ค์ 1-2kB / s๋ก ๋ด๋ ค๊ฐ ๊ฒฐ๊ตญ ์คํจํฉ๋๋ค. ๋๋ ์ด๊ฒ์ด ์ผ์ข ์ ์ฃผ์ ์์ ๋ฒ์ด๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๊ทธ๊ฒ์ด ๋ด ๋ผ์ธ์ด ์๋๋ผ๊ณ ํ์ ํฉ๋๋ค. github๊ฐ ์ด๋ค ์ด์ ๋ก ์ผ์ ์กฐ์ ํ๊ณ ์์ต๋๊น?
์ง๊ธ ๋น์ฅ ์ผ์ด๋๋ ์ผ์ด ์๋๋ผ๋ฉด (๋จ์ง) GitHub ์ง์ํ์ ํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
์ปจํ
์ด๋๋ฅผ ๋จ์ํ ๋ฐฐํฌํ๋ ๋ฐ ์ ํธ๋๋ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง ๋งค์ฐ ํผ๋ ์ค๋ฝ์ต๋๋ค .
Docker๋ฅผ ํตํด ์ปจํ
์ด๋๋ฅผ ๋ง๋๋ ๊ฒ์ ์๋น์ค๋ฅผ ๋ง๋๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์ค ๋ฐฉ๋ฒ์ผ๋ก ํ๋ณด๋ฉ๋๋ค. ์ด๊ฒ์ด ์ ๊ฐ ์ง๊ธ ๋ง๋ค๊ณ ์๋ ์น ์ฌ์ดํธ๋ฅผ์ํ ์ปจํ
์ด๋๋ฅผ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
ํ์ง๋ง ๋ถ๋ช
ํ ์ด๋ฌํ ์ปจํ
์ด๋๋ฅผ VPS์ ๋ฐฐํฌํด์ผํฉ๋๋ค. ๊ทธ๋์ ์ค์ ๋ก ์ฌ์ฉ๋์ง ์๋ ์ ์ผํ ๋ฌธ์์ด๊ธฐ ๋๋ฌธ์ docker-machine์ ์ฌ์ฉํฉ๋๋ค. ์ด์ "์ ์ง ๊ด๋ฆฌ ๋ชจ๋"๋ผ๋ ๊ฒ์ ์๊ฒ๋์์ผ๋ฏ๋ก ์ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๊ณ ์ถ์ง ์์ ์๋ ์์ง๋ง ์ธํ๋ผ ํท์ ๋ฌด์์
๋๊น? 2K ๋ณ์ด ์์ง๋ง ๊ทธ๊ฒ์ด ๋ฌด์์ธ์ง (๊ฐ๋จํ ๋ฐฉ๋ฒ์ผ๋ก ๋์ปค ๋จธ์ ์ ๋์ฒด ํ ์ ์์) ๋๋ ๊ณต์ ๋ฌธ์๋ฅผ ์ดํดํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช๊ณ ์์ผ๋ฉฐ ์ด์ ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋ (๋ณด๊ด ๋จ)์ด๋ฏ๋ก ์ฌ์ฉํ์ง ์์์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ์ ์ฅ์ Readme / ๋ฌธ์ ์๋ ์ ์ ์ฅ์์ ๋ํ ๋งํฌ๊ฐ ์์ต๋๋ค. ๋ฌธ์๊ฐ์๋ ์ด์ ๋ ๋ฌด์์ด๋ฉฐ ๋์ปค ๋จธ์ ์ ๋์ฒดํ๋ ๊ฒฝ์ฐ ์ค๋จ๋ฉ๋๋ค.
Docker๋ ๋งค์ฐ ์ธ๊ธฐ์๋ ์๋ฃจ์
์ผ๋ก ๋ณด์ด์ง๋ง ์ค๋จ๋์ง ์์ (๋๋ "์ ์ง ๊ด๋ฆฌ ๋ชจ๋"์์) ์ปจํ
์ด๋๋ฅผ ๋ฐฐํฌ ํ ์์๋ ๋จ์ผ ์๋ฃจ์
์ ์ฐพ์ ์ ์์ต๋๋ค. docker๊ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ค๋ฉด ์๋ง๋ ์๋ฐฑ๋ง ๋ช
์ ๊ฐ๋ฐ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น?
์๋ Docker๋ ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌํ๋ ๊ณต์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ฃ ๋ฒ์ ์ธ Docker EE๋ฅผ ํ๋ณดํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋์ ๊ทธ๋ค์ ๋น์ฆ๋์ค ๋ชจ๋ธ์ ์ํํ๋ฉด์ Docker ๋จธ์ ๊ณผ Infrakit ์ด๋์ ํฐ๋ธ๋ฅผ ๊ฑฐ๋ถํ์ต๋๋ค.
๋ํ k8s๋ ํ๊ฒฝ์ ์์ ํ ๋ฐ๊พธ์๊ณ Docker๋ ์ ์ํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
์ด์ Mirantis๊ฐ Docker EE๋ฅผ ์ธ์ ํ Docker๋ ๋ ๋ค๋ฅธ ๋น์ฆ๋์ค ๋ชจ๋ธ์ ์ฐพ๊ณ ์์ต๋๋ค. ์๋ก์ด ๋ฐฉํฅ์ k8s ์ํ๊ณ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ๋ค์ ์ฃผ์ ํ๊ณ k8s ๋ฐฐํฌ ์์ฒด๋ฅผ ์ปค๋ฎค๋ํฐ์ ๋งก๊ธฐ๋ ๊ฒ์ ๋๋ค. ํนํ k8s๋ Docker CE (Linux)์ ์ผ๋ถ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
K8s, OTOH๋ Google์์ ๊ด๋ฆฌํ๋ฉฐ, K8s ๋ฐฐํฌ๋ฅผ ๋๋ฌด ๋ณต์กํ๊ฒ ๋ง๋๋ ๋ชจ๋ ์ธ์ผํฐ๋ธ๊ฐ์์ด ์ฌ๋๋ค์ด ๋ฌธ์ ๊ทธ๋๋ก "Hey, Google, K8s ํด๋ฌ์คํฐ๋ฅผ ์ค์นํด์ฃผ์ธ์"๋ผ๊ณ ๋งํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ Google ํด๋ผ์ฐ๋ ์๋น์ค์ ๊ณ ์ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ํด๋ผ์ฐ๋๋ฅผ ์ข ์์์ ํด๋ฐฉ์ํค๊ณ ํด๋ผ์ฐ๋๋ฅผ ์ํ์ผ๋ก ๋ง๋๋ Solomon Hykes์ ๋น์ ์ ๋น์ฐธํ๊ฒ ์คํจํ์ต๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ ์๋ฒ์์ ์คํ (๊ฒฐ๊ตญ ์๋ฒ์ ์ ๋ฐ์ดํธ)์ ๋ํ ์ฝ๋ ์์ฑ์์ "์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ", "๋ด์ฅ ๋ฐ ์๋ฒ์ ๋ค์ด๋ก๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ์ง๊ณ "์ ๋ค์ํ ๋ฐฉ์์ ํค๊ณผ ํจ๊ป, ๋๋ฌด ๋ณต์กํ๊ธฐ ๋๋ฌธ์ @NitroBAY, ๊ทธ๊ฒ์ ๋งํ๊ธฐ ์ด๋ ต๋ค ๋น์ ์ ์๋ฃจ์ ์ ๋ฌด์์ด์ด์ผํฉ๋๋ค.
์๋ docker-machine์ ์ธ ๊ฐ์ง ์์ ์ ์ํํ์ต๋๋ค.
(ํด๋์ ๋ผ ๋ง๋ค๊ธฐ์ ๊ฐ์ ๋ ๊ฑฐ์ ๊ธฐ๋ฅ์ ์์ผ์ญ์์ค)
์ฒซ ๋ฒ์งธ "Linux VM ๋ง๋ค๊ธฐ": VM์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ํด๋ผ์ฐ๋์์ ์ ํํ ๋๊ตฌ๋ก ๊ต์ฒดํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ก์ปฌ์ด๊ณ Linux VM์ ์ค์นํ๋ ๊ฒ๋ณด๋ค ๋ ๋น ๋ฅธ ๊ฒ์ ์ํ๋ค๋ฉด multipass๋ฅผ ํ์ธํ์ธ์. ์ด๊ฒ์ ๋จ์ผ ๋ช ๋ น์ผ๋ก ๋ช ๋ถ ์์ ์๋ก์ด Ubuntu VM์ ๊ฐ๋ํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ ๋ฒ์งธ "Linux VM์ docker ์ค์น": ์ค์น ์คํฌ๋ฆฝํธ ๋๋ OS ๋ฐฐํฌ ์ฉ ๊ณต์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ VM์ docker๋ฅผ ์ค์นํ ์ ์์ต๋๋ค. ๋๋ถ๋ถ์ ํด๋ผ์ฐ๋์๋ ์ต์ ์ผ๋ก ์ด๋ฏธ๋ ์ปค๊ฐ ํฌํจ ๋ ๊ณต์ ์ด๋ฏธ์ง๊ฐ ์์ต๋๋ค.
Docker๋ ๋ชจ๋ CI / CD ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ผ๋ฉฐ docker-machine์ ์ค์ ๋ก VM ํ๋ก๋น์ ๋ ๋ฐ ๊ธฐ๋ณธ ์ค์น ๋๊ตฌ ์ผ ๋ฟ์ด๋ฏ๋ก ๋ง์ ์ฌ๋๋ค์ด ๋ ์ ์ฐํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์๋ฃจ์ ์ด ํ์ํ์ต๋๋ค (์ : docker-machine์ ์ฝ๊ฒ ๊ณต์ ํ ์ ์์ต๋๋ค. ๋จธ์ ๊ฐ ์๋ฒ ๊ตฌ์ฑ). Docker ํ์ ๊ณต์ ๊ธฐ๊ณ๊ฐ ์ด๋ฌํ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์๋ฏธํ์ง ์์์ต๋๋ค. ์ค๋๋ ์๋ ์ฌ์ ํ ์๋์ ๊ฒ๋ค์ ๋ํด ์๋ํ๋ฏ๋ก ์๋ํ๋ ํ ์์ ๋กญ๊ฒ ์ฌ์ฉํ์ญ์์ค. ๋๋ ์ฌ์ ํ ๋งค๋ฌ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ 2015 ๋ ๋ถํฐ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
docker-machine์ด ํด๊ฒฐ ํ ํน์ ๋ฌธ์ ๋ฅผ ์์ธํ ์ค๋ช ํ๋ค๋ฉด ๊ตฌํํ ์์๋ ํน์ ๋์์ ์ถ์ฒ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์์ 3 ๋ฒ "control docker remotely"์ ๊ด๋ จํ์ฌ , ์ ๋ docker-machine์ด API ์ธ์ฆ์ ์ํด ์์ฒด ์๋ช ๋ ์ธ์ฆ์๋ฅผ ํ๋ก๋น์ ๋ํ๊ณ ์๊ฒฉ ์๋ฒ๋ฅผ ์ ์ด ํ ์ ์๋๋ก Docker ํ๊ฒฝ์ ๋ก์ปฌ๋ก ๋ณ๊ฒฝํ ์ ์๋ค๋ ์ ์ ํญ์ ์ข์ํ์ต๋๋ค. ์ด ๋ ๊ฑฐ์ ๋ฐฉ๋ฒ์ 2018 ๋ ๋ถํฐ Docker CLI๋ฅผ์ํ ํจ์ฌ ๋ ์ฝ๊ณ ์ ์ฐํ๊ณ ์์ ํ SSH ํฐ๋ ๋ด์ฅ ํ๋ฉด๋ฉ๋๋ค. DOCKER_HOST env ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๊ธฐ์ ๋ํ ์ง๋ ์ฌ๋ฆ ์ ์ปจํ ์คํธ ๊ธฐ๋ฅ์ ๋ํ ๋ผ์ด๋ธ ์ผ ๋ฐ๋ชจ ๊ฐ์์์ต๋๋ค. Docker CLI์ ๋ฐ๋ก Docker ์๋ฒ ๋ชฉ๋ก์ ์ ์ฅํ๊ณ SSH ๋๋ TCP๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ์ผ๋ก ์ ์ด ํ ์ ์์ต๋๋ค.
๋ํ InfraKit์ ์์คํ ๋น๋ (์ฌ์ฉ์ ์ง์ Linux OS๋ฅผ ์์ฑํ๋ ppl)๋ฅผ์ํ ๋๊ตฌ์ด๋ฉฐ, ์ฐ๋ฆฌ์ ๊ฐ์ Linux ์ฌ์ฉ์๊ฐ ํธ์คํธ ํ๋ก๊ทธ๋จ์ผ๋ก ์์ฑ ๋ ์ผ๋ฐ Linux ๋ฐฐํฌํ์ ์ํ๊ณ ์ฌ๊ธฐ์ ๋์ปค๋ฅผ ์ค์นํ๋ ค๋ ์ฌ์ฉ์๊ฐ ์๋๋๋ค.
์์ฐ @BretFisher ๊ทํ์ ๋งค์ฐ ์์ธํ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋๋ ๋น์ ์ ์ฝ์ ๋ฏธ๋์ ์ฌ๋๋ค์๊ฒ๋ ํฉ๊ธ ์ ๋ฌผ๋ก ๊ฐ์ฃผ ๋ ๊ฒ์ด๋ผ๊ณ ํ์ ํฉ๋๋ค.
๊ธฐ๋ก์ ์ํด ์๊ฒฉ ์ปดํจํฐ์ ๋ด config.json์ ์
๋ก๋ํ๋ ์คํฌ๋ฆฝํธ (๊ฐ์ธ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ก๋ ํ ์ ์๋๋ก)์ ์์ฑ ํ์ผ์ ์์ฑํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ "docker stack deploy"๋ฅผ ์คํํฉ๋๋ค.
๋ด ๋ฐฐํฌ sh๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
#!/bin/bash
ssh -o StrictHostKeyChecking=no -l root "$HOST" root@$HOST "mkdir /opt/app; mkdir /root/.docker"
source ./devops/generate-branch-hostname.sh
scp ./devops/docker-compose-prod.yml root@$HOST:/opt/app/docker-compose-prod.yml
scp $HOME/.docker/config.json root@$HOST:/root/.docker/config.json
echo "BRANCH_HOSTNAME=$BRANCH_HOSTNAME"
ssh root@$HOST "export BRANCH_HOSTNAME=$BRANCH_HOSTNAME; docker stack deploy --compose-file /opt/app/docker-compose-prod.yml webapp --with-registry-auth"
(BRANCH_HOSTNAME์ ๋น์ฐํ ํ์ํ์ง ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ Git ๋ถ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค๋ฅธ ํ์ ๋๋ฉ์ธ์ด ์์ต๋๋ค (CI / CD ์ฌ์ฉ))
๊ทธ๋ฆฌ๊ณ ์ฌ์ ํ docker-machine create๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๋ถํฌ ์๊ฒฉ VPS์ ๋์ปค๋ฅผ ๊ฐ์ต๋๋ค.
์ด์จ๋ docker machine์ CI / CD์์ ์ข์ ์๊ฐ์ด ์๋๋๋ค. ์ธ์ฆ์๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ์ฝ์ง ์๊ณ (์ ์ฒด ํด๋) ์ธ์ฆ์๋ฅผ ๋ค์ ์์ฑํ๋ฉด Docker๊ฐ ์ค์ง ๋ ์ ์์ผ๋ฏ๋ก ์ต์ ๋ ์๋๋๋ค.
๋๋ ์ฌ์ ํ DOCKER_HOST ๋ฑ์ ํ๋ก๋น์ ๋ํ๊ณ ๋จ์ํ SSH ํค๋ฅผ ์ฌ์ฉํ๋ ๋๊ตฌ๊ฐ ์กด์ฌํด์ผํ๋ค๊ณ ๋ฏฟ์ต๋๋ค (์ปค๋ฎค๋ํฐ ๋๋ ๋์ปค์์ ๋ง๋ ). "scp"๋ฐ "ssh"๋ณด๋ค ์ฌ์ธ ๊ฒ์ ๋๋ค.
Docker ๋จธ์ ์ ํผํ ์์๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค.
์ ๋ ์ ๋ฌธ๊ฐ๊ฐ ์๋๋๋ค. ์ ๋ ์ ์น ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ ๊ณ ํฐ ํ๋ก์ ํธ์์ ์ ์์์ ์ผํ๋ ์ฌ๋ ์ผ๋ฟ์ ๋๋ค. ๊ทธ๋์ K8์ด ์ฝ์ง ์์ ๋๊ตฌ๋ก ์ค๋ช ๋๊ธฐ ๋๋ฌธ์ ์ ํ์์ ๋ง์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ต์ํ ์ค๊ฐ / ๋๊ท๋ชจ ์ ๋ฌธ ํ์๋ง ํด๋น๋๋ฉฐ ๊ฐ๋ฐ (ํ๋ฐํธ / ๋ฐฑ ์๋)๊ณผ ๋ฐฐํฌ๋ฅผ ๋ชจ๋ ์ํํ๋ ์๊ฐ์ด ๊ฑฐ์์๋ ๊ฐ์ธ์๊ฒ๋ ์ ํฉํ์ง ์์ต๋๋ค. ๊ทธ๋์ ๋๋ ์ฌ์ ํ Docker๋ฅผ์ํ ์ฅ์๊ฐ ์๋ค๊ณ ์๊ฐํ์ง๋ง, ์๋ง๋ ๋ด๊ฐ ๋ค์๋ fuding ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๊ณต์์ ์ผ๋ก ์ ํธํ๋ ์ฑ ๋ฐฐํฌ ๋ฐฉ๋ฒ๊ณผ Docker ๋จธ์ ์ ํ์ ๊ณํ์ ๋ํด ๋ ๋ช ํํด์ผํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ํ ๊ณํ์ด ์์ต๋๋ค.
๋๋ ์ฌ์ ํ DOCKER_HOST ๋ฑ์ ํ๋ก๋น์ ๋ํ๊ณ ๋จ์ํ SSH ํค๋ฅผ ์ฌ์ฉํ๋ ๋๊ตฌ๊ฐ ์กด์ฌํด์ผํ๋ค๊ณ ๋ฏฟ์ต๋๋ค (์ปค๋ฎค๋ํฐ ๋๋ ๋์ปค์์ ๋ง๋ ). "scp"๋ฐ "ssh"๋ณด๋ค ์ฌ์ธ ๊ฒ์ ๋๋ค.
export DOCKER_HOST=ssh://[email protected]
root
์ฌ์ฉ์์ ๋ํด SSH ๋ก๊ทธ์ธ์ ๋นํ์ฑํ ํ ๊ฒฝ์ฐ ๋ค์์ ํตํด ๋ฃจํธ๊ฐ ์๋ ์ฌ์ฉ์ user
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
export DOCKER_HOST=ssh://[email protected]
user
๋ฅผ ์ฌ์ฉํ์ฌ docker
๊ทธ๋ฃน์ sudo usermod -aG docker user
. (Ubuntu 18.04์์ ํ
์คํธ ๋จ)
Windows์์ ๋ค์ค ๋ ธ๋ Docker Swarm์ ์ฌ์ฉํ๊ธฐ์ํ ๋์์ด ์์ต๋๊น? swarm ํํ ๋ฆฌ์ผ ์ ํ์ฌ Docker Machine์ด์๋ Windows์์๋ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ๋งํฉ๋๋ค.
ํ์ฌ๋ Mac ์ฉ Docker Desktop ๋๋ Windows ์ฉ Docker Desktop์ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ์ฌ ๋ค์ค ๋ ธ๋ ์ค์์ ํ ์คํธ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํฌํจ ๋ Docker Machine ๋ฒ์ ์ ์ฌ์ฉํ์ฌ ๋ผ ๋ ธ๋๋ฅผ ๋ง๋ ๋ค์ (Docker Machine ๋ฐ ๋ก์ปฌ VM ์์ํ๊ธฐ ์ฐธ์กฐ) ๋ชจ๋ ๋ค์ค ๋ ธ๋ ๊ธฐ๋ฅ์ ๋ํ ์์ต์๋ฅผ ๋ฐ๋ฅผ ์ ์์ต๋๋ค.
https://multipass.run/ ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ Ubuntu VM์ ๋น ๋ฅด๊ฒ ๋ง๋ญ๋๋ค. ๋์ปค ๋จธ์ ๋งํผ ๋น ๋ฆ ๋๋ค. 3 ๋ ธ๋ Swarm์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ฐ๋ชจ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. https://www.pscp.tv/BretFisher/1mrGmQvNEWBGy?t=
๋ฐ์คํฌํฑ ์ฌ์ฉ์ ๋๋ถ๋ถ Docker Desktop ์ ํ์ผ๋ก ๋์ฒด๋์์ต๋๋ค.
์ด ์ค๋ ๋์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ฐธ๊ณ : Docker Desktop์ ๋ฌด๋ฃ ์ํํธ์จ์ด๊ฐ ์๋๋ฉฐ ์คํ ์์ค๊ฐ ์๋๋ฉฐ ๋ง์ ์คํ์ด์จ์ด๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ํด๋น ์ ๊ทธ๋ ์ด๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ ๋ํด ๋ ๋ฒ ์๊ฐํ ์ ์์ต๋๋ค.
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋ ์์๋ ๊ฒฝ์ฐ ์๊ฒฉ ํธ์คํธ์ docker๋ฅผ ์ค์นํ๋ ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค (Debian 10 = buster์์ ํ
์คํธ ๋จ).
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252
Fabric (ํนํ fab-classic github ๋ฐ docs) ์ด๋ผ๋ ์๋ฒ ์๋ํ ํ๋ ์ ์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํฉ๋๋ค. Fabric์ ์ฌ์ฉํ๊ณ ์ถ์ง ์๋๋ผ๋ ๋ช ๋ น์ ์ฝ๊ฒ ์ฝ๊ณ ์๋์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
๊ทธ ํ export DOCKER_HOST=ssh://[email protected]
์คํํ๋ฉด ๋์ปค ๋จธ์ ์ ์ฌ์ฉํ ๋์ ์ํ๋ก ๋์๊ฐ๋๋ค.
์ด ์ค๋ ๋์ ๋ชจ๋ ์ฌ๋์๊ฒ ์ฐธ๊ณ : Docker Desktop์ ๋ฌด๋ฃ ์ํํธ์จ์ด๊ฐ ์๋๋ฉฐ ์คํ ์์ค๊ฐ ์๋๋ฉฐ ๋ง์ ์คํ์ด์จ์ด๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ํด๋น ์ ๊ทธ๋ ์ด๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ ๋ํด ๋ ๋ฒ ์๊ฐํ ์ ์์ต๋๋ค.
@sneak "ton of spyware"๋ "์ค๋ฅ ๋ณด๊ณ ์, ์์คํ ๋ฒ์ ๋ฐ ์ธ์ด ๋ฐ Docker Desktop ์๋ช ์ฃผ๊ธฐ ์ ๋ณด (์ : ์์, ์ค์ง, ์ฌ์ค์ ) ๋ณด๋ด๊ธฐ"๋ผ๋ ๊ธฐ๋ณธ ์ค์ ์ค์ "์ฌ์ฉ ํต๊ณ ๋ณด๋ด๊ธฐ"๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด๋ ๊ฒ์ ๋ ์ ์์ต๋๊น?
๋ ์ ์ ์ธ ๋น๊ณต๊ฐ ์์ค ์คํ์ด์จ์ด์ ๋ํด ๋ ์ด์ ๋ ผ์ํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ ์ง ํธ๋กค
ํธ๋กค๋ง์๋ ์์์๊ฐ ํ์ํฉ๋๋ค. ๋๋ ์ง์ฌ์ด๊ณ ๋ด ์ง์ ์ ์ ํํฉ๋๋ค.
๋์ปค ๋ฐ์คํฌํ์ ๋ ์ ์ ์ ๋๋ค
๋์ปค ๋ฐ์คํฌํ์ ํ์ ์์ค ์ํํธ์จ์ด์ ๋๋ค
๋์ปค ๋ฐ์คํฌํฑ์ ๋์๋ฅผ ์ป์ง ์๊ณ ์ฌ์ฉ์๋ฅผ ๊ฐ์ํฉ๋๋ค (๋์ปค ๋จธ์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก).
์ด๋ฌํ ์ ์์ ํฉ๋ฆฌ์ ์ธ ์ฌ๋์ Docker-the-company๊ฐ ์ํํธ์จ์ด ์์ , ์ฌ์ฉ์ ๊ฐ์ธ ์ ๋ณด ๋๋ ๊ฐ์์ ๋ํ ์ฌ์ฉ์ ๋์์ ๊ด์ฌ์ด ์๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
์ ๋ GitHub ๋ฐ ๊ธฐํ ์ฌ์ดํธ์์ ์์ ์ํํธ์จ์ด ๋ฐ ์คํ ์์ค ์์ ์ํ๊ณ ์์ต๋๋ค. Docker ๋ฐ์คํฌํฑ๊ณผ ๊ฐ์ ๋น ์์ ํ๋ก์ ํธ๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ด์ต์ด๋๋ ์์ ์ํํธ์จ์ด ์์ ์ ๋ฐฉํด๊ฐ๋ฉ๋๋ค. ๊ทธ๋ฐ ์ผ์ ์๊ฐ์ด๋ ๊ด์ฌ์ ๋๋ฆฌ๊ณ ์ถ์ง ์์ต๋๋ค.
์ธ์ ๊ณต๊ฒฉ๋ณด๋ค๋ ์ง์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ง๊ธ์ด ์ค๋ ๋๋ฅผ ์์๊ฑฐํ๊ณ ์ข์ ํ๋ฃจ ๋์ธ์.
๋๊ตฐ๊ฐ์๊ฒ ๋์์ด ๋ ์์๋ ๊ฒฝ์ฐ ์๊ฒฉ ํธ์คํธ์ docker๋ฅผ ์ค์นํ๋ ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค (Debian 10 = buster์์ ํ ์คํธ ๋จ).
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252Fabric (ํนํ fab-classic github ๋ฐ docs) ์ด๋ผ๋ ์๋ฒ ์๋ํ ํ๋ ์ ์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋กํฉ๋๋ค. Fabric์ ์ฌ์ฉํ๊ณ ์ถ์ง ์๋๋ผ๋ ๋ช ๋ น์ ์ฝ๊ฒ ์ฝ๊ณ ์๋์ผ๋ก ์คํํ ์ ์์ต๋๋ค.
๊ทธ ํ
export DOCKER_HOST=ssh://[email protected]
์คํํ๋ฉด ๋์ปค ๋จธ์ ์ ์ฌ์ฉํ ๋์ ์ํ๋ก ๋์๊ฐ๋๋ค.
@ivanistheone ์๋ ์๋์์. docker-machine
์
๋๋ค (์
๋๊น?) ์ข์ ๋ค์ํ ํด๋ผ์ฐ๋ ์ ๊ณต ์
์ฒด์์ ๊ทธ๊ฒ์ ๋ํ ๊ตฌํํ๋ ๋ชจ๋ API๋ ๊ท ์ผ ํ ๋ฐฉ์์ CLI์์ ๊ธฐ๊ณ๋ฅผ ๋ง๋๋ ๋๋ฌธ์ด๋ค. ๋ฌผ๋ก gcloud
, az
๋ฑ์ด ์์ง๋ง ๊ฐ๊ฐ ๋ค๋ฅธ ์ต์
๊ณผ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. docker-machine
๋ ๋ชจ๋์ ๋ํ ํ๋์ CLI์
๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ํด๋ผ์ฐ๋๋ก ์์
ํ๋ ๊ฒ์ด ์กฐ๊ธ ๋ ์ฌ์์ง๋๋ค ...
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
readme.md๋ ์ ๋ฐ์ดํธ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.