Machine: Docker Machine์ด ์ด์ œ ์œ ์ง€ ๊ด€๋ฆฌ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 07์›” 13์ผ  ยท  65์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/machine

๋‹น๋ถ„๊ฐ„ ๋ถ„๋ช…ํ–ˆ๋“ฏ์ด ์šฐ๋ฆฌ๋Š” ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋˜๋Š” ์ˆ˜์šฉ์„ ์ฒœ์ฒœํžˆ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ ์‚ฌ์šฉ์€ ๋Œ€๋ถ€๋ถ„ Docker Desktop ์ œํ’ˆ์œผ๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž์— ๋Œ€ํ•œ ํ”„๋กœ๋น„์ €๋‹์€ ์ „๋ฐ˜์ ์œผ๋กœ ์ธํ”„๋ผ ํ‚ท ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์ž˜ ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ ๊ทน์ ์ธ ๊ฐœ๋ฐœ์„ ์ถ”๊ตฌํ•˜๋Š” ๊ฒƒ์€์ด ์‹œ์ ์—์„œ ๋” ์ด์ƒ ์˜๋ฏธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์˜ค๋Š˜๋ถ€ํ„ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์ด ์•„๋‹Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๊ณต์‹์ ์œผ๋กœ ์ˆ˜๋„๊ผญ์ง€๋ฅผ ๋‹ซ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๊ฒƒ์— ์ฐจ์ž„ํ•˜๊ณ  ์‹ถ์„ ๊ฒƒ์ด๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ํ† ๋ก ์„ ์˜ˆ์˜ ๋ฐ”๋ฅด๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์ผ์„ ๊ด€๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ๋„๋ก์ด ์Šค๋ ˆ๋“œ ์•ˆ์— ๋ณด๊ด€ํ•˜์‹ญ์‹œ์˜ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

readme.md๋„ ์—…๋ฐ์ดํŠธ ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋ชจ๋“  65 ๋Œ“๊ธ€

์˜ค :(

๊ทธ๊ฒƒ์ด ์ง€์†๋˜๋Š” ๋™์•ˆ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. :)
์ข‹์€ ์ผ์„ ์œ„ํ•ด ๋ชจ๋‘๋“ค!

readme.md๋„ ์—…๋ฐ์ดํŠธ ํ•ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋จธ์‹ ์— ๋Œ€ํ•œ ๊ณต์‹ ์ง€์›์ด ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ์ด ์ €์žฅ์†Œ์—์„œ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋ฐ˜ ์ง€์›์ด ๊ณ„์† ๋  ๊ฐ€๋Šฅ์„ฑ์€ ์–ผ๋งˆ๋‚˜๋ฉ๋‹ˆ๊นŒ?

๊ธฐ๊ณ„๊ฐ€ ํ•„์š”ํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด https://github.com/machine-drivers ์กฐ์ง์— ๋ช‡ ๊ฐ€์ง€ ํ™œ๋™์ด ์žˆ์œผ๋ฉฐ ์žˆ์Šต๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„ / ๋จธ์‹  ...

์šฐ๋ฆฌ๋Š” ์ด๋ฏธ์ด ์กฐ์ง์— ํŒจ์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒ€ํ† ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜๋Š” ์—ฌ๊ธฐ์—์„œ ๋ณ‘ํ•ฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. # 4509 (์ด๋Š” Windows์˜ ํ˜„์ง€ํ™” ๋œ ๋ฒ„์ „์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค). ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์–ด๋–ค ํ˜•ํƒœ์˜ ๋ฆด๋ฆฌ์Šค๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, ์šฐ๋ฆฌ์—๊ฒŒ๋Š” minikube์™€ minishift๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋งŒ ๋งํฌํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.

@ shin- ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž "์‹œ์ž‘ํ•˜๊ธฐ"๋ฌธ์„œ๋Š” ์—ฌ์ „ํžˆ docker-machine ๋ฅผ ์†Œ๊ฐœ์˜ ์ค‘์‹ฌ ๋ถ€๋ถ„์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ ์—…๋ฐ์ดํŠธ์— ๊ด€์‹ฌ์ด์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋Œ€์‹  ์–ด๋–ค ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•ด์•ผํ• ๊นŒ์š”?

  • Windows : Windows ์šฉ Docker Desktop ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
  • Mac : macOS ์šฉ Docker Desktop ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
  • Linux : 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

๋ถˆํ‰ํ•˜์ง€ ์•Š๊ณ  ๋‚ด ๊ด€์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ํฅ๋ฏธ ๋กญ๊ตฐ. InfraKit ์˜ ์ปค๋ฐ‹ ๋‚ด์—ญ์„ 1 ์ธ ์ž‘์—… ์ธ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

ํ™œ๋™์€ 4 ์›” / 5 ์›”๊ฒฝ์— ๋ง๋ผ ๋ฒ„๋ฆฐ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์˜ ์‹œ๊ฐ„์„ ์ถ”์ธกํ•˜๋Š” ๊ฒƒ์€ ๋‹ค๋ฅธ ๊ฒƒ๋“ค๋กœ ๋ฆฌ๋””๋ ‰์…˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ์‚ฌ๋ฌผ์„ ๋ณด๋Š” ์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๊นŒ?

@ 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)๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

https://github.com/boot2docker/boot2docker/blob/d465167d83310295b5847ba315905f52c3ca1435/Dockerfile#L426 -L435

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด Docker CE ๋ฆด๋ฆฌ์Šค๋กœ ๊ณ„์† ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

boot2docker-cli ๋Š” ์‚ฌ๋ผ์กŒ์ง€ ๋งŒ ๋ณธ์งˆ์ ์œผ๋กœ virtualbox๋กœ ๋ฐฉ๋ž‘ํ•ฉ๋‹ˆ๋‹ค. Vagrant๋Š” ์•„์ง ์ฃผ๋ณ€์— ์žˆ์Šต๋‹ˆ๋‹ค.

KVM ๋“œ๋ผ์ด๋ฒ„ ๊ฐ€์žˆ๋Š” boot2docker.iso ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ _Docker CE_๋ฅผ ์ƒˆ libvirt VM์— ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค.

Docker Desktop ์€ linuxkit ์œผ๋กœ ๋นŒ๋“œ ๋œ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ _Docker CE_๋ฅผ Hyper-V ๋ฐ xhyve์— ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค.


๋ชจ๋“  ๊ฒƒ์„ ๋ฌ˜์‚ฌํ•˜๋ ค๋ฉด :
infrastructure


๋ณด์‹œ๋‹ค์‹œํ”ผ ๋ชจ๋“  ์†”๋ฃจ์…˜์—๋Š” 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 ๋‚˜๋Š”์— ๋”ฐ๋ผ ๊ฒฐ๋ก  ์ด ์‘๋‹ต .

ํ˜ผ๋ž€์„ ์š”์•ฝํ•˜๋ฉด :

  1. "maintenance mode" -๋‘ ํ”„๋กœ์ ํŠธ ๋ชจ๋‘์—์„œ ๋ช…ํ™•ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์†Œ๊ทœ๋ชจ ๋น„์ฆˆ๋‹ˆ์Šค์—์„œ ํ”„๋กœ๋•์…˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
  2. ๋‘ ํ”„๋กœ์ ํŠธ ๋ฆฌ๋“œ ๊ฐœ๋ฐœ์ž / ๊ด€๋ฆฌ์ž๋Š” ์ด์ „์— ์ง€์›๋˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ์‚ฌ์šฉ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

docker-machine ์ด ํ”„๋กœ๋•์…˜์— ๊ดœ์ฐฎ๋‹ค๋ฉด @tianon ๊ณผ @ shin-๋กœ๋ถ€ํ„ฐ ๋ช…ํ™•ํ•œ ์ง„์ˆ ์„ํ•˜๋Š” ๊ฒƒ์ด ์ด์ƒ์ ์ผ๊นŒ์š”?

Docker Machine์— ๋Œ€ํ•ด ๋งํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ boot2docker๋Š” ํ”„๋กœ๋•์…˜์„์œ„ํ•œ ์ข‹์€ ์„ ํƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ๊ฐœ๋ฐœ / ๊ฐœ์ธ ์›Œํฌ ์Šคํ…Œ์ด์…˜ ์‚ฌ์šฉ์ž…๋‹ˆ๋‹ค.

https://github.com/boot2docker/boot2docker#readme์— ์ถ”๊ฐ€ ๋œ ์ฐธ๊ณ  ์‚ฌํ•ญ๋„ ์ฐธ์กฐ

๋‹ค๋ฅธ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ SMB ํด๋ผ์ด์–ธํŠธ ์šฉ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ ํ›„ Github Issues์—์„œ ์ด์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ  ๋‹ต๋‹ตํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด PR์„ ๋งŒ๋“ค์—ˆ๊ณ  ๊ธฐ๊ณ„์˜ ์œ ์ง€ ๊ด€๋ฆฌ ๋ชจ๋“œ์— ๋Œ€ํ•œ ์กฐ์–ธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/docker/docker.github.io/pull/9239 ์ฐธ์กฐ

๋„์ปค ์‹œ์ž‘๋„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค 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์€ ์„ธ ๊ฐ€์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ฃผ์š” ํด๋ผ์šฐ๋“œ ์ œ๊ณต ์—…์ฒด ๋˜๋Š” ๋กœ์ปฌ ๋จธ์‹  VM ๊ด€๋ฆฌ์ž (VirtualBox, Hyper-V, VMWare, Parallels ๋“ฑ)์—์„œ ๊ฐ„๋‹จํ•œ VM ํ”„๋กœ๋น„์ €๋‹
  2. ์ž์ฒด ์„œ๋ช… ๋œ ์ธ์ฆ์„œ๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น VM์— Docker๋ฅผ ์„ค์น˜ํ•˜๊ณ  API TCP ํฌํŠธ๋ฅผ ์—ฝ๋‹ˆ ๋‹ค.
  3. ํ•ด๋‹น ์„œ๋ฒ„์— ๋Œ€ํ•œ ์‰ฌ์šด ssh ๋ฐ docker cli (docker-machine env)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ์œผ๋กœ docker ์ œ์–ด

(ํด๋ž˜์‹ ๋–ผ ๋งŒ๋“ค๊ธฐ์™€ ๊ฐ™์€ ๋ ˆ๊ฑฐ์‹œ ๊ธฐ๋Šฅ์€ ์žŠ์œผ์‹ญ์‹œ์˜ค)

์ฒซ ๋ฒˆ์งธ "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 -L252

Fabric (ํŠนํžˆ fab-classic github ๋ฐ docs) ์ด๋ผ๋Š” ์„œ๋ฒ„ ์ž๋™ํ™” ํ”„๋ ˆ์ž„ ์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœํ•ฉ๋‹ˆ๋‹ค. Fabric์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋”๋ผ๋„ ๋ช…๋ น์„ ์‰ฝ๊ฒŒ ์ฝ๊ณ  ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ํ›„ export DOCKER_HOST=ssh://[email protected] ์‹คํ–‰ํ•˜๋ฉด ๋„์ปค ๋จธ์‹ ์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

@ivanistheone ์•„๋‹ˆ ์•„๋‹ˆ์—์š”. docker-machine ์ž…๋‹ˆ๋‹ค (์ž…๋‹ˆ๊นŒ?) ์ข‹์€ ๋‹ค์–‘ํ•œ ํด๋ผ์šฐ๋“œ ์ œ๊ณต ์—…์ฒด์—์„œ ๊ทธ๊ฒƒ์€ ๋˜ํ•œ ๊ตฌํ˜„ํ•˜๋Š” ๋ชจ๋“  API๋Š” ๊ท ์ผ ํ•œ ๋ฐฉ์‹์˜ CLI์—์„œ ๊ธฐ๊ณ„๋ฅผ ๋งŒ๋“œ๋Š” ๋•Œ๋ฌธ์ด๋‹ค. ๋ฌผ๋ก  gcloud , az ๋“ฑ์ด ์žˆ์ง€๋งŒ ๊ฐ๊ฐ ๋‹ค๋ฅธ ์˜ต์…˜๊ณผ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. docker-machine ๋Š” ๋ชจ๋‘์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ CLI์ž…๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์ด ์กฐ๊ธˆ ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค ...

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰