Machine: ใ€ํ•ด๊ฒฐ๋จใ€‘ docker-machine์€ ๊ธฐ์กด์˜ docker ํ˜ธ์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

์— ๋งŒ๋“  2016๋…„ 03์›” 21์ผ  ยท  63์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/machine

์˜ค๋ž˜๋œ ๋ฌธ์ œ์ด์ง€๋งŒ ์œ ์šฉํ•œ ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ™˜๊ฒฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋กœ์ปฌ ํ˜ธ์ŠคํŠธ (๋‚ด ๋…ธํŠธ๋ถ) ์ด๋ฆ„ : Chris-Laptop
docker-machine์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 0.6.0, ๋นŒ๋“œ e27fb87, Mac OS X 10.11
์›๊ฒฉ ํ˜ธ์ŠคํŠธ (My VPS) ์ด๋ฆ„ : li845-130 (139.162.3.130)
docker-engine์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. CentOS 7.0

1. ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์˜ Docker ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค
[ root @ li845-130 ~] # ps -ef | grep docker |
๋ฃจํŠธ 12093 1 0 02:09? 00:00:00 / usr / bin / docker ๋ฐ๋ชฌ -H tcp : //0.0.0.0 : 2376

2. ์•”ํ˜ธ์—†์ด ssh ์—ฐ๊ฒฐ ๊ตฌ์„ฑ
[ tdy218 @ Chris-Laptop .ssh] $ ssh [email protected]
๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธ ์‹คํŒจ : ssh : notty์˜ 125.88.177.95์—์„œ 2016 ๋…„ 3 ์›” 21 ์ผ ์›”์š”์ผ 02:54:06 UTC
๋งˆ์ง€๋ง‰์œผ๋กœ ์„ฑ๊ณตํ•œ ๋กœ๊ทธ์ธ ์ดํ›„ 54 ํšŒ์˜ ๋กœ๊ทธ์ธ ์‹œ๋„๊ฐ€ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธ : ์›” 3 ์›” 21 ์ผ 02:25:25 2016๋ถ€ํ„ฐ 114.248.235.223
[ root @ li845-130 ~] #

3. ๋กœ์ปฌ Docker ๋จธ์‹ ์— ์›๊ฒฉ Docker ํ˜ธ์ŠคํŠธ ์ถ”๊ฐ€
[ tdy218 @ Chris-Laptop .ssh] $ docker-machine create --driver none -url = tcp : //139.162.3.130 : 2376 linodevps
์ƒ์„ฑ ์ „ ๊ฒ€์‚ฌ ์‹คํ–‰ ์ค‘ ...
๋จธ์‹  ์ƒ์„ฑ ์ค‘ ...
์ด ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์‹คํ–‰์ค‘์ธ Docker ์—”์ง„์— Docker ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด๋ ค๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. docker-machine env linodevps
[ tdy218 @ Chris-Laptop .ssh] $ docker-machine ls
์ด๋ฆ„ ํ™œ์„ฑ ์šด์ „์ž ์ƒํƒœ URL SWARM DOCKER ์˜ค๋ฅ˜
default * virtualbox ์‹คํ–‰ tcp : //192.168.99.100 : 2376 v1.10.3
linodevps-none ์‹คํ–‰ ์ค‘ tcp : //139.162.3.130 : 2376 Unknown
[ tdy218 @ Chris-Laptop .ssh] $
[ tdy218 @ Chris-Laptop .ssh] $ docker-machine -D regenerate-certs linodevps
Docker Machine ๋ฒ„์ „ : 0.6.0, ๋นŒ๋“œ e27fb87
TLS ์‹œ์Šคํ…œ ์ธ์ฆ์„œ๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ฒฝ๊ณ  : ์ด๊ฒƒ์€ ๋˜๋Œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. (y / n) : y
TLS ์ธ์ฆ์„œ ์žฌ์ƒ์„ฑ
/ usr / local / bin / docker-machine์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
๋“œ๋ผ์ด๋ฒ„ ์—†์Œ ์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„ ์‹œ์ž‘
์ฃผ์†Œ 127.0.0.1:54648์—์„œ ์ˆ˜์‹  ๋Œ€๊ธฐํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„
() .GetVersion ํ˜ธ์ถœ
API ๋ฒ„์ „ 1 ์‚ฌ์šฉ
() .SetConfigRaw ํ˜ธ์ถœ
() .GetMachineName ํ˜ธ์ถœ
command = configureAuth ๋จธ์‹  = linodevps
SSH๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘ ...
WaitForSSH ํ•จ์ˆ˜๋กœ๊ฐ€๋Š” ์ค‘ ...
(linodevps) .GetSSHHostname ํ˜ธ์ถœ
(linodevps) .GetSSHPort ํ˜ธ์ถœ
(linodevps) .GetSSHKeyPath ํ˜ธ์ถœ
(linodevps) .GetSSHUsername ํ˜ธ์ถœ
SSH ํด๋ผ์ด์–ธํŠธ ์œ ํ˜• ์‚ฌ์šฉ : ์™ธ๋ถ€
{[-o BatchMode = yes -o PasswordAuthentication = no -o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempts = 3 -o ConnectTimeout = 10 -o ControlMaster = no -o ControlPath = none @ -p 0] / usr / bin / ssh}
SSH ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.
0 ๋ฒˆ ์ถœ๊ตฌ
SSH cmd ์˜ค๋ฅ˜, ์ถœ๋ ฅ : ์ข…๋ฃŒ ์ƒํƒœ 255 : ์‚ฌ์šฉ๋ฒ• : ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b
..................

ssh ๋ช…๋ น 'exit 0'๊ฐ€์ ธ ์˜ค๊ธฐ ์˜ค๋ฅ˜ : SSH ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ์ค‘์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค!
๋ช…๋ น : ์ถœ๊ตฌ 0
์˜ค๋ฅ˜ : ์ข…๋ฃŒ ์ƒํƒœ 255
์ถœ๋ ฅ : ์‚ฌ์šฉ๋ฒ• : ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
.....................

๋งˆ์ง€๋ง‰์œผ๋กœ "SSH๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์žฌ ์‹œ๋„๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์˜ค๋ฅ˜ : ์ตœ๋Œ€ ์žฌ์‹œ๋„ ํšŸ์ˆ˜ (60)๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค ..."๋ฅผ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์™œ ? ์•”ํ˜ธ์—†์ด ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์™€ ์›๊ฒฉ ๋„์ปค ํ˜ธ์ŠคํŠธ ๊ฐ„์˜ ssh ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

Docker ํ˜ธ์ŠคํŠธ๋ฅผ ๋กœ์ปฌ docker-machine ๋ช…๋ น ์ค„๋กœ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

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

@dweomer ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์˜ ๊ธฐ์กด ๋„์ปค ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๊ณ  ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹™๋‹ˆ๊นŒ?

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

๋„์ปค ๋จธ์‹  ์ง€์›์ด ๊ธฐ์กด ๋„์ปค ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๊นŒ?

์ง€๋‚œ 5 ์‹œ๊ฐ„ ๋™์•ˆ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ ํ•  ๋•Œ ์‹ค์ œ๋กœ "--driver = none"์˜ต์…˜ (๋ฌธ์„œํ™”๋˜์ง€ ์•Š์Œ)์ด ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/docker/machine/issues/2270์„ ์ฐธ์กฐ

@ tdy218 @atemerev ๋‚ด๊ฐ€ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ --driver none ์˜ต์…˜์€ ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ๋งŒ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜๋„์ ์œผ๋กœ ๋ฌปํ˜”์Šต๋‹ˆ๋‹ค (๊ทธ๋ฆฌ๊ณ  ๋ฆด๋ฆฌ์Šค ๋œ ์‹คํ–‰ ํŒŒ์ผ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค).

๊ด€๋ จ ๋ฌธ์ œ : docker-machine์œผ๋กœ ๋งŒ๋“  ๋””์ง€ํ„ธ ๋ฐ”๋‹ค์— ๋ฌผ๋ฐฉ์šธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋…ธํŠธ๋ถ์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๋™๋ฃŒ๊ฐ€ docker-machine regenerate-certs [name] ์‚ฌ์šฉํ•˜์—ฌ ๋…ธํŠธ๋ถ์—์„œ ์ธ์ฆ์„œ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋” ์ด์ƒ ๋‚ด ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ƒˆ ์ธ์ฆ์„œ๋ฅผ ์–ด๋”˜๊ฐ€์— ์ˆ˜๋™์œผ๋กœ ๋ณต์‚ฌํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ์ด๊ฒƒ์— ๋Œ€ํ•œ ๋ฌธ์„œ๋Š” ์ •๋ง ํ˜ผ๋ž€ ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

$ docker-machine ls
NAME           ACTIVE   DRIVER         STATE     URL                        SWARM   DOCKER    ERRORS
default        -        virtualbox     Stopped                                      Unknown   
gapp-sandbox   *        digitalocean   Running   tcp://xx.xxx.xxx.xx:2376           Unknown   Unable to query docker version: Get https://xx.xxx.xxx.xx:2376/v1.15/version: x509: certificate signed by unknown authority

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค : https://github.com/docker/machine/issues/2270

๊ธ€๋กœ๋ฒŒ ๋จธ์‹  ๋Œ€์‹  ํ•ด๋‹น ํŠน์ • ๋จธ์‹ ์˜ CA ๋ฐ ํด๋ผ์ด์–ธํŠธ ํ‚ค๋ฅผ ๊ฐ€๋ฆฌ ํ‚ค๋„๋ก ๋จธ์‹ ์˜ config.json์„ ํŽธ์ง‘ํ•˜์‹ญ์‹œ์˜ค.

๊ทธ๋ž˜์„œ ๋™๋ฃŒ์˜ ํด๋”์—์„œ ๋ชจ๋“  ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜๊ณ  ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์˜ ๊ฒฝ๋กœ๋กœ ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ ์ตœ์ข… ๊ฒฝ๋กœ๋Š” /Users/mturatti/.docker/machine/machines/gapp-sandbox/ ์ž…๋‹ˆ๋‹ค.
๋ถˆ์พŒํ•œ ํ•ด๊ฒฐ์ฑ…์ด์ง€๋งŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ca.pem
cert.pem
config.json
id_rsa
id_rsa.pub
key.pem
server-key.pem
server.pem

@dweomer ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์˜ ๊ธฐ์กด ๋„์ปค ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๊ณ  ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹™๋‹ˆ๊นŒ?

@dweomer ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์˜ ๊ธฐ์กด ๋„์ปค ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๊ณ  ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹™๋‹ˆ๊นŒ?

@atemerev : ์•„๋‡จ, ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์™€ ๊ฐ™์ด, Docker๊ฐ€ ํ™œ์„ฑํ™” ๋œ ํ˜ธ์ŠคํŠธ๋ฅผ ์ƒ์„ฑ / ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ธฐ ์œ„ํ•ด Docker Machine์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, @ tdy218์ด ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋‹ค์†Œ ๋œ ๋ถ„๋ช…ํ•œ generic ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. generic ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ˜ธ์ŠคํŠธ๋ฅผ ์ธ๊ณ„ ๋ฐ›์•„ ๋‹ค์‹œ ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์€ ssh ๋ฐ๋ชฌ์ด์žˆ๋Š” ์‹คํ–‰์ค‘์ธ ํ˜ธ์ŠคํŠธ์™€ ์•”ํ˜ธ๊ฐ€์—†๋Š” sudo ์•ก์„ธ์Šค ๊ถŒํ•œ (๋˜๋Š” ๋ฃจํŠธ)์ด์žˆ๋Š” ํ•ด๋‹น ํ˜ธ์ŠคํŠธ์˜ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค. ์ด ์žฌ ํ”„๋กœ๋น„์ €๋‹์€ ๊ธฐ์กด Docker ์„ค์น˜๊ฐ€ ๊ธฐ๊ปํ•ด์•ผ ์—…๊ทธ๋ ˆ์ด๋“œ๋œ๋‹ค๋Š” ์ ์—์„œ ๋น„ํŒŒ๊ดด ์ ์ž…๋‹ˆ๋‹ค.

๋ฟก๋ฟก
๋‹ค์Œ ํ…Œ์ŠคํŠธ์—์„œ ์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋„์ปค ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๋กœ์ปฌ ํ˜ธ์ŠคํŠธ (๋‚ด ๋…ธํŠธ๋ถ) ์ด๋ฆ„ : Chris-Laptop
docker-machine์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 0.6.0, ๋นŒ๋“œ e27fb87, Mac OS X 10.11
์›๊ฒฉ ํ˜ธ์ŠคํŠธ (My VPS) ์ด๋ฆ„ : li845-130 (139.162.3.130)
docker-engine์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. CentOS 7.0

1. ์›๊ฒฉ ํ˜ธ์ŠคํŠธ์˜ Docker ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค
[ root @ li845-130 ~] # ps -ef | grep docker |
๋ฃจํŠธ 12093 1 0 02:09? 00:00:00 / usr / bin / docker ๋ฐ๋ชฌ -H tcp : //0.0.0.0 : 2376

2. ์•”ํ˜ธ์—†์ด ssh ์—ฐ๊ฒฐ ๊ตฌ์„ฑ
[ tdy218 @ Chris-Laptop ~] $ ssh [email protected]
๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธ : ์›” 3 ์›” 28 ์ผ 03:06:07 2016์—์„œ 111.193.199.188

3. ๋กœ์ปฌ Docker ๋จธ์‹ ์— ์›๊ฒฉ Docker ํ˜ธ์ŠคํŠธ ์ถ”๊ฐ€
[ tdy218 @ Chris-Laptop ~] $ docker-machine -D create --driver generic --generic-ip-address 139.162.3.130 --generic-ssh-user root linodevps
Docker Machine ๋ฒ„์ „ : 0.6.0, ๋นŒ๋“œ e27fb87
/ usr / local / bin / docker-machine์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
๋“œ๋ผ์ด๋ฒ„ ์ผ๋ฐ˜์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„ ์‹œ์ž‘
์ฃผ์†Œ 127.0.0.1:50319์—์„œ ์ˆ˜์‹ ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„
() .GetVersion ํ˜ธ์ถœ
API ๋ฒ„์ „ 1 ์‚ฌ์šฉ
() .SetConfigRaw ํ˜ธ์ถœ
() .GetMachineName ํ˜ธ์ถœ
(ํ”Œ๋ž˜๊ทธ ์กฐํšŒ) .GetMachineName ํ˜ธ์ถœ
(flag-lookup) .DriverName ํ˜ธ์ถœ
(ํ”Œ๋ž˜๊ทธ ์กฐํšŒ) .GetCreateFlags ํ˜ธ์ถœ
/ usr / local / bin / docker-machine์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
๋“œ๋ผ์ด๋ฒ„ ์ผ๋ฐ˜์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„ ์‹œ์ž‘
์ฃผ์†Œ 127.0.0.1:50323์—์„œ ์ˆ˜์‹ ํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์„œ๋ฒ„
() .GetVersion ํ˜ธ์ถœ
API ๋ฒ„์ „ 1 ์‚ฌ์šฉ
() .SetConfigRaw ํ˜ธ์ถœ
() .GetMachineName ํ˜ธ์ถœ
(linodevps) .GetMachineName ํ˜ธ์ถœ
(linodevps) .DriverName ํ˜ธ์ถœ
(linodevps) .GetCreateFlags ํ˜ธ์ถœ
(linodevps) .SetConfigFromFlags ํ˜ธ์ถœ
์ƒ์„ฑ ์ „ ๊ฒ€์‚ฌ ์‹คํ–‰ ์ค‘ ...
(linodevps) .PreCreateCheck ํ˜ธ์ถœ
(linodevps) .GetConfigRaw ํ˜ธ์ถœ
๋จธ์‹  ์ƒ์„ฑ ์ค‘ ...
(linodevps) .Create ํ˜ธ์ถœ
(linodevps) .GetConfigRaw ํ˜ธ์ถœ
(linodevps) SSH ํ‚ค๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊ณผ ๋ฏธ๋ž˜์—์ด ๋จธ์‹ ์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ssh ์—์ด์ „ํŠธ์— ์ ์ ˆํ•œ ํ‚ค๊ฐ€ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
(linodevps) DBG | IP : 139.162.3.130
(linodevps) .DriverName ํ˜ธ์ถœ
(linodevps) .DriverName ํ˜ธ์ถœ
์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ๋ช‡ ๋ถ„ ์ •๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ...
(linodevps) .GetState ํ˜ธ์ถœ
์ƒ์„ฑ ๋œ ์ธ์Šคํ„ด์Šค์˜ ์šด์˜ ์ฒด์ œ ๊ฐ์ง€ ์ค‘ ...
SSH๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘ ...
WaitForSSH ํ•จ์ˆ˜๋กœ๊ฐ€๋Š” ์ค‘ ...
(linodevps) .GetSSHHostname ํ˜ธ์ถœ
(linodevps) .GetSSHPort ํ˜ธ์ถœ
(linodevps) .GetSSHKeyPath ํ˜ธ์ถœ
(linodevps) .GetSSHUsername ํ˜ธ์ถœ
SSH ํด๋ผ์ด์–ธํŠธ ์œ ํ˜• ์‚ฌ์šฉ : ์™ธ๋ถ€
{[-o BatchMode = yes -o PasswordAuthentication = no -o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempts = 3 -o ConnectTimeout = 10 -o ControlMaster = no -o ControlPath = none [email protected] -p 22] / usr / bin / ssh}
SSH ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.
0 ๋ฒˆ ์ถœ๊ตฌ
SSH cmd ์˜ค๋ฅ˜, ์ถœ๋ ฅ ::
ํ”„๋กœ๋น„์ €๋‹ ๋„๊ตฌ ๊ฐ์ง€ ์ค‘ ...
(linodevps) .GetSSHHostname ํ˜ธ์ถœ
(linodevps) .GetSSHPort ํ˜ธ์ถœ
(linodevps) .GetSSHKeyPath ํ˜ธ์ถœ
(linodevps) .GetSSHUsername ํ˜ธ์ถœ
SSH ํด๋ผ์ด์–ธํŠธ ์œ ํ˜• ์‚ฌ์šฉ : ์™ธ๋ถ€
{[-o BatchMode = yes -o PasswordAuthentication = no -o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempts = 3 -o ConnectTimeout = 10 -o ControlMaster = no -o ControlPath = none [email protected] -p 22] / usr / bin / ssh}
SSH ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.
๊ณ ์–‘์ด / etc / os-release
SSH cmd ์˜ค๋ฅ˜, ์ถœ๋ ฅ :: NAME = "CentOS Linux"
VERSION = "7 (์ฝ”์–ด)"
ID = "centos"
ID_LIKE = "rhel ํŽ˜๋„๋ผ"
VERSION_ID = "7"
PRETTY_NAME = "CentOS Linux 7 (์ฝ”์–ด)"
ANSI_COLOR = "0; 31"
CPE_NAME = "cpe : / o : centos : centos : 7"
HOME_URL = " https://www.centos.org/ "
BUG_REPORT_URL = " https://bugs.centos.org/ "

CENTOS_MANTISBT_PROJECT = "CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION = "7"
REDHAT_SUPPORT_PRODUCT = "centos"
REDHAT_SUPPORT_PRODUCT_VERSION = "7"

CPE_NAME ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๊ตฌ์กฐ ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
key๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” struct ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
CENTOS_MANTISBT_PROJECT ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๊ตฌ์กฐ์ฒด ํ•„๋“œ๊ฐ€ โ€‹โ€‹์—†์Šต๋‹ˆ๋‹ค.
CENTOS_MANTISBT_PROJECT_VERSION ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๊ตฌ์กฐ์ฒด ํ•„๋“œ๊ฐ€ โ€‹โ€‹์—†์Šต๋‹ˆ๋‹ค.
REDHAT_SUPPORT_PRODUCT ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๊ตฌ์กฐ ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
REDHAT_SUPPORT_PRODUCT_VERSION ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” ๊ตฌ์กฐ์ฒด ํ•„๋“œ๊ฐ€ โ€‹โ€‹์—†์Šต๋‹ˆ๋‹ค.
key๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹นํ•˜๋Š” struct ํ•„๋“œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
ํ˜ธํ™˜ ํ˜ธ์ŠคํŠธ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค : centos
centos๋กœ ํ”„๋กœ๋น„์ €๋‹ ...
devicemapper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์ •๋œ ์Šคํ† ๋ฆฌ์ง€ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

(linodevps) .GetMachineName ํ˜ธ์ถœ
(linodevps) .GetSSHHostname ํ˜ธ์ถœ
(linodevps) .GetSSHPort ํ˜ธ์ถœ
(linodevps) .GetSSHKeyPath ํ˜ธ์ถœ
(linodevps) .GetSSHUsername ํ˜ธ์ถœ
SSH ํด๋ผ์ด์–ธํŠธ ์œ ํ˜• ์‚ฌ์šฉ : ์™ธ๋ถ€
{[-o BatchMode = yes -o PasswordAuthentication = no -o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempts = 3 -o ConnectTimeout = 10 -o ControlMaster = no -o ControlPath = none [email protected] -p 22] / usr / bin / ssh}

4. ์›๊ฒฉ Docker ํ˜ธ์ŠคํŠธ ๋ช…๋ น ์ค„.
[ root @ linodevps ~] # ps -ef | grep docker |
๋ฟŒ๋ฆฌ 17079 1 0 03:06? 00:00:00 / usr / bin / docker ๋ฐ๋ชฌ -H tcp : //0.0.0.0 : 2376
๋ฃจํŠธ 17185 1 0 03:06? 00:00:00 sudo ๋„์ปค ๋ฒ„์ „
๋ฃจํŠธ 17190 17185 0 03:06? 00:00:00 ๋„์ปค ๋ฒ„์ „

๋„์ปค ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜์—ˆ์ง€๋งŒ ๋„์ปค ๋ฒ„์ „ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‘ ๊ฐœ ๋” ์žˆ์—ˆ๋Š”๋ฐ ์ˆ˜๋™์œผ๋กœ ๋„์ปค ๋ฒ„์ „ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๋Š”๋ฐ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

docker-machine ๋ช…๋ น ์ค„์— ๊ธฐ์กด docker ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ์–ด๋ ต์Šต๋‹ˆ๋‹ค ...

๋„์ปค ์—”์ง„์ด์—†๋Š” ์›๊ฒฉ ํ˜ธ์ŠคํŠธ๋ผ๋ฉด docker-machine ๋ช…๋ น ์ค„์—์„œ ๋„์ปค ํ˜ธ์ŠคํŠธ (๋„์ปค ์—”์ง„ ์„ค์น˜)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€๋งŒ ์œ„์˜ ๋ฌธ์ œ์ฒ˜๋Ÿผ docker-machine์ด ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค.

@dweomer ์ด๊ฒƒ์€ ์‚ฌ์‹ค์ด์ง€๋งŒ docker-machine ๋˜๋Š” docker-swarm์„ ํ”„๋กœ๋น„์ €๋‹ ํ•œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ฐฐํฌ ํ•  ์ˆ˜ ์žˆ๋„๋กํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ์‹œ์Šคํ…œ๊ฐ„์— ๊ตฌ์„ฑ / ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๊นŒ? ์ง€๊ธˆ๊นŒ์ง€๋Š” ํ”„๋กœ๋น„์ €๋‹ ๋œ docker-machine ํ˜ธ์ŠคํŠธ ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹จ์ผ ์‹œ์Šคํ…œ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (๊ณ ์žฅ๋‚œ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒํ•ฉ๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ๊ตฌ์„ฑ์„ ๋ณต์›ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•ฉ๋‹ˆ๊นŒ?).

๋‚˜์—๊ฒŒ docker-machine / docker-swarm์€ ์ƒ์‚ฐ ์ค€๋น„๊ฐ€๋˜์–ด์žˆ๋Š” ๊ฒƒ๊ณผ๋Š” ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€๊ณ  ์ ์–ด๋„ ๋ฒ ํƒ€๋กœ ํ‘œ์‹œ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ํ”„๋กœ๋•์…˜์—์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์˜๊ฒฌ์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค ...

FWIW, ํ•ด๋‹น ์›Œํฌ ์Šคํ…Œ์ด์…˜ ํ˜ธ์ŠคํŠธ์—์„œ ์ƒˆ ํ˜ธ์ŠคํŠธ๋กœ ~ / .docker๋ฅผ ๋“œ๋กญํ•˜๋ฉด (ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋™์ผํ•œ ๊ฒฝ๋กœ๋ผ๊ณ  ๊ฐ€์ •) ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ /Users/macuser/.docker ๋ฅผ /home/linuxuser/.docker ๋กœ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์—ฌ๋Ÿฌ ์œ„์น˜ (ํ‚ค ๋ฐ ์ธ์ฆ์„œ ๋“ฑ)์—์„œ .json ํŒŒ์ผ์„ ํŽธ์ง‘ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ์งˆ๋ฌธ์€ ์ฒ ์ €ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ ์ด๋ฏธ ํ™•๋ฆฝ ๋œ ๊ทผ๊ฑฐ๋ฅผ ๋‹ค๋ฃฌ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@nathanleclaire ๋ถ„๋ช…ํžˆ

๊ณต์‹์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋Œ€์‹  ์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด ์—ฌ๊ธฐ์— ์„ค๋ช… ๋œ @ tdy218 ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š”์ด ์งˆ๋ฌธ์ด ์ „ํ˜€ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‚˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๊ณ„์— ์ฝ”๋“œ๋ฅผ ๋ฐ€์–ด ๋„ฃ๊ณ  ๋ˆ„๊ตฌ๋“ ์ง€ ๊ธฐ๊ณ„๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ์„ ์ฐพ๊ณ  ๊ทธ์˜ ํŒŒ์ผ์„ ๋‚ด ํŒŒ์ผ๋กœ ๋ณต์‚ฌํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๊ฒƒ์„ ์ƒ๊ฐ ํ•ด๋‚ผ ์ˆ˜์žˆ๋Š” ์ตœ์„ ์˜ ๋Œ€๋‹ต์„ ์‹œ๋„ํ•˜๊ณ ์žˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์‹ค์ œ ์„ธ๊ณ„์—์„œ ์ด๊ฒƒ์„ ์‹œ๋„ํ–ˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์งœ์ฆ๋‚ฉ๋‹ˆ๋‹ค.

@TheSeanBrady ์‹œ๋ฏผ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ณ„์† ํ† ๋ก ํ•ฉ์‹œ๋‹ค. ๋ณด๊ณ  ์‹ถ์€ ์†”๋ฃจ์…˜์— ๋Œ€ํ•œ ์ œ์•ˆ์ด ์žˆ์œผ๋ฉด ๊ณต์œ ํ•˜์‹ญ์‹œ์˜ค. ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์— ๊ณ„์† ์ง‘์ค‘ํ•ฉ์‹œ๋‹ค.

๋‚˜๋Š” ๋‹จ์ง€ ์ •์งํ•˜๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์š”์ฒญํ•˜๋Š” ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š๊ณ  ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹จ์ง€ ์ •์งํ•˜๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์š”์ฒญํ•˜๋Š” ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š๊ณ  ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ๋ญ”๊ฐ€ "์‹ซ๋‹ค"๊ณ  ๋งํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์šฐ๋ฆฌ๊ฐ€ "์‹ค์ œ ์„ธ๊ณ„์—์„œ"์‚ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•”์‹œํ•˜๋Š” ๊ฒƒ์ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ฑฐ์น ๊ณ  ๋น„ ๊ฑด์„ค์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

ํ˜‘๋ ฅ๊ณผ ๊ธ์ •์ด ์žฅ๋ ค๋˜๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์œก์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฐธ์—ฌ๋ฅผ ์›ํ•˜์‹ ๋‹ค๋ฉด์ด ์›์น™์„ ๋”ฐ๋ฅด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ €์žฅ๋œ API ์ž๊ฒฉ ์ฆ๋ช…, SSH ํ‚ค ๋ฐ ์ปดํ“จํ„ฐ๊ฐ„์— docker-machine s๋ฅผ ๊ณต์œ ํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํ•œ ๋น„๋ฐ€ ๊ด€๋ฆฌ / ACL ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„์—์„œ ์ƒ๋‹นํžˆ ํฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋„์›€์ด๋˜๋Š”์ด๋ฅผ ์™„ํ™”ํ•˜๊ธฐ์œ„ํ•œ ์กฐ์น˜๋ฅผ ์ทจํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌํ˜„ํ•  ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์ „ ์†”๋ฃจ์…˜์„ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์ด ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

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

๋‹น์‹ ์€ ๋ญ”๊ฐ€ "์‹ซ๋‹ค"๊ณ  ๋งํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์šฐ๋ฆฌ๊ฐ€ "์‹ค์ œ ์„ธ๊ณ„์—์„œ"์‚ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•”์‹œํ•˜๋Š” ๊ฒƒ์ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ฑฐ์น ๊ณ  ๋น„ ๊ฑด์„ค์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

ํ›„์† ์กฐ์น˜๋ฅผ ์ทจํ•  ๋•Œ ์‹ค์ œ๋กœ๋Š” ์•„๋‹™๋‹ˆ๋‹ค ...

์ด ์งˆ๋ฌธ์€ ์ฒ ์ €ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ ์ด๋ฏธ ํ™•๋ฆฝ ๋œ ๊ทผ๊ฑฐ๋ฅผ ๋‹ค๋ฃฌ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ์ œ๊ฐ€ ์š”์•ฝ ํ•ด๊ณ ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  "์‹ค์ œ ์„ธ๊ณ„"๋Š” ์šฐ๋ฆฌ๊ฐ€์ด ๋ฌผ๊ฑด์„ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ํ™€์˜ ๊ฐœ๋ฐœ์ž ์ค‘ ํ•œ ๋ช…์„ ํ†ต๊ณผ ํ•  ์ˆ˜์žˆ๋Š” ๊ณณ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋” ์ ์ ˆํ•œ ๋Œ€๋‹ต์ด์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

์ €์žฅ๋œ API ์ž๊ฒฉ ์ฆ๋ช…, SSH ํ‚ค ๋ฐ ์ปดํ“จํ„ฐ๊ฐ„์— docker-machines๋ฅผ ๊ณต์œ ํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „ํ•œ ๋น„๋ฐ€ ๊ด€๋ฆฌ / ACL ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

... ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์ด ๋ฐœ๋ช…๋˜์—ˆ๊ณ  ๋Œ€๋ถ€๋ถ„์ด ์˜คํ”ˆ ์†Œ์Šค์ด์ง€๋งŒ.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ์—ˆ์œผ๋ฏ€๋กœ SSH ํ‚ค ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ TLS ์—ฐ๊ฒฐ์— ํ•„์š”ํ•œ ์ธ์ฆ์„œ๋ฅผ ์ „๋‹ฌํ•˜๋Š” docker-machine add <hostname> ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๋„์ปค ๋จธ์‹  ์ถ”๊ฐ€๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ, SSH ํ‚ค ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ TLS ์—ฐ๊ฒฐ์— ํ•„์š”ํ•œ ์ธ์ฆ์„œ๋ฅผ ์ „๋‹ฌ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๊ทธ๊ฒƒ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ... ์ตœ์†Œํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ

๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์€ SSH๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋Š” ํ˜ธ์ŠคํŠธ์—์„œ ๋„์ปค ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด SSH ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜ (๋‚ด ๊ฒฝ์šฐ์—๋Š” HSM์œผ๋กœ ๋ฐฑ์—… ๋จ)์„ ์‚ฌ์šฉํ•˜๊ณ  ํฌํŠธ / ๋ฐฉํ™”๋ฒฝ์„ ์กฐ์ •ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์—๊ฒŒ ๋งค์šฐ ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. ์ง€์› TLS.

๋‚˜๋Š” socat์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด์— ๋Œ€ํ•œ ๋‚ด ์ž์‹ ์˜ ์†”๋ฃจ์…˜์„ ํ•ดํ‚นํ–ˆ์ง€๋งŒ docker-machine์ด ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋งค์šฐ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ์— sshํ•˜๊ณ , ์•„์ง ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ socat์„ ์„ค์น˜ํ•˜๊ณ , socat์„ ์‚ฌ์šฉํ•˜์—ฌ ssh ์„ธ์…˜์„ ์›๊ฒฉ /var/lib/docker.sock๊ณผ ํ†ต์‹ ํ•˜๊ธฐ์œ„ํ•œ ๋กœ์ปฌ ์†Œ์ผ“์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ docker-machine์ด์ด ๋“œ๋ผ์ด๋ฒ„ ๋ชจ๋“œ์—์„œ ์ธ์ฆ์ด๋‚˜ ์ธ์ฆ์„œ ๋˜๋Š” TLS์— ๋Œ€ํ•ด ์•Œ ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€๋งŒ ๋กœ์ปฌ ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ์—์„œ socat์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ssh ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๋ชจ๋“  TLS ํ•ญ๋ชฉ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ local-socket-setup์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋“œ๋ผ์ด๋ฒ„ ๋ชจ๋“œ๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์กฐ์ง์ด ์ด๋ฏธ SSH ํ‚ค ๋ฐฐํฌ / ํฌํŠธ ํฌ์›Œ๋”ฉ์„ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉฐ ์ด์ œ TLS ์šฉ PKI๋ฅผ ๋ฐฐํฌ / ๊ด€๋ฆฌํ•˜๊ณ  ๋‹ค๋ฅธ ํฌํŠธ๋ฅผ ์—ฌ๋Š” ๊ฒƒ์€ ๋ถ€๋‹ด ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

tyrell:~โ–ป cat Library/Local/bin/ber1docker 
#!/bin/bash

DOCKER_REMOTE_HOST="ber1.local"
DOCKER_SOCK="$TMPDIR/docker.sock"
export DOCKER_HOST="unix://$DOCKER_SOCK"
rm $DOCKER_SOCK

socat UNIX-LISTEN:$DOCKER_SOCK,reuseaddr,fork \
   EXEC:"ssh root@$DOCKER_REMOTE_HOST 'socat STDIO UNIX-CONNECT:/var/run/docker.sock'" &

๊ทธ๋ž˜์„œ, "docker-machine add ..."๋Š” ์—†์Šต๋‹ˆ๊นŒ?

docker-machine add ... +1

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ํŒ€์›์„ ์œ„ํ•ด eval $(docker-machine env mymachine) ์˜ ์•„๋ฆ„๋‹ค์›€์„ ์›ํ•ฉ๋‹ˆ๋‹ค (๋ฌผ๋ก  ๊ณต์œ  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ๊ฒฝ์šฐ).

๋‚˜๋Š” digitalocean ๋“œ๋ผ์ด๋ฒ„๋กœ ๋ฌผ๋ฐฉ์šธ์„ ๋ฝ‘์•„ ๋‚ด๊ณ  ๋‚ด ์›Œํฌ ์Šคํ…Œ์ด์…˜์—์„œ docker-compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ดํŠธ๋ฅผ ๊ฐ€๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์›๋ž˜ docker-machine ๋ช…๋ น์„ ์ˆ˜ํ–‰ ํ•œ ์›Œํฌ ์Šคํ…Œ์ด์…˜์—์„œ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์œ„์น˜์—์„œ ์‚ฌ์ดํŠธ์—์„œ ์ž‘์—…ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ถฉ๋ถ„ํžˆ ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์ด ์•„๋‹™๋‹ˆ๊นŒ?

๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ํŠนํžˆ "ํŒ€"์ด๋ผ๋Š” ์ผ์—์„œ ์ผํ•œ๋‹ค๋ฉด. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋“ค์€ ์ด์ œ ์•ฝ 18 ๊ฐœ์›” ๋™์•ˆ์ด ์ฃผ์ œ๋ฅผ ํ”ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์ดํ•˜๋Š” ๋ชจ๋“  ์ผ์€ ์ด์™€ ๊ฐ™์€ ์ด์Šˆ๋ฅผ ์ข…๊ฒฐํ•˜๊ณ  "๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋ณต์žกํ•˜๋‹ค"๊ณ  ๋งํ•˜๊ณ  ๋‹น์‹ ์ด ์ง์ ‘ ํ•  ์ˆ˜ ์žˆ๊ณ  ์–ธ์ œ๋“ ์ง€ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ œ์•ˆ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๋“ค์ด ์ง€๋‚œ 18 ๊ฐœ์›” ๋™์•ˆ ํ•ด๊ฒฐ์ฑ…์— ๋Œ€ํ•œ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

์•„์ง ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ์ง€๋งŒ ๋‹ต์žฅ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ž๊ฒฉ ์ฆ๋ช…๊ณผ ๊ธฐํƒ€ ์‚ฌํ•ญ์„ ํด๋ผ์šฐ๋“œ์— ๋ณด๊ด€ํ•˜์‹ญ์‹œ์˜ค.

๋ณด๊ด€ ์šฉ ๋˜๋Š” Google ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์„ธ์š”.

๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋˜ ๋“œ๋ผ์ด๋ฒ„์ด๊ธฐ ๋•Œ๋ฌธ์— digitalocean์˜ ์ •๋ณด๋ฅผ ์ฟผ๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ •๋ง ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„ค, ์•ˆ์ „ ํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.
2016 ๋…„ 11 ์›” 9 ์ผ ์ˆ˜์š”์ผ 09:28 Michael Schwartz [email protected]
์ผ๋‹ค :

์ž๊ฒฉ ์ฆ๋ช…๊ณผ ๊ธฐํƒ€ ์‚ฌํ•ญ์„ ํด๋ผ์šฐ๋“œ์— ๋ณด๊ด€ํ•˜์‹ญ์‹œ์˜ค.

๋ณด๊ด€ ์šฉ ๋˜๋Š” Google ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ •๋ง ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/docker/machine/issues/3212#issuecomment -259457472,
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ABxbKbZQLUfK9ENnWpNKiF207ZGpXFs2ks5q8fSagaJpZM4H07I2
.

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋ช…๋ น๊ณผ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ์— DO๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ๋ณด๋‹ค ๋œ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

๋˜๋Š” ๋‚ด ๋ชจ๋“  ๋…์  ํ•ญ๋ชฉ์„ Docker ํ—ˆ๋ธŒ ๋˜๋Š” github, ์‹ฌ์ง€์–ด ๊ฐœ์ธ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋„์ปค ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

docker-machine create -d "none"--url http://192.168.10.100 : 4243 bla

์ด๋Š” ํ˜ธ์ŠคํŠธ์—์„œ TSL ์ธ์ฆ์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š๊ณ  HTTP๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๋ฌผ๊ฑด์„ ์ฐพ๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

ํ•œ ๋Œ€์˜ ์ปดํ“จํ„ฐ ๋งŒ ๋„์ปค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌ ํ•  ์ˆ˜ โ€‹โ€‹์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•ฝ๊ฐ„ ๊ทผ์‹œ์•ˆ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ ์ฑ…์ž„์„ ํŒ€๊ณผ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ ์ด์ƒ์œผ๋กœ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์‹คํŒจ ์ง€์ ์ด ์žˆ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ์ž๋™ํ™” ์—์ด์ „ํŠธ๊ฐ€ ๋„์ปค ํด๋Ÿฌ์Šคํ„ฐ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๋‚ด๋ณด๋‚ด๊ธฐ ๋ช…๋ น์˜ ๊ฒฝ์šฐ +1.

๋ชจ๋“  ์„ค์ •๊ณผ ์ธ์ฆ์„œ๋ฅผ ์•ˆ์ „ํ•œ tar ๋˜๋Š” zip ํŒŒ์ผ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ด ํŒŒ์ผ์€ ์•”ํ˜ธ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜์žˆ๋Š” docker-machine ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ฉ๋ฆฌ์ ์ธ ์š”์ฒญ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@bmmathe ํ•ด๋‹น ๋ช…๋ น์€ ์ด๋ฏธ tar -c ~/.docker/machine | bzip2 > docker-machine-config.tbz2 ์ž…๋‹ˆ๋‹ค.

lxd๊ฐ€์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๋ฅผ ๋ณต์‚ฌํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ์— ์•”ํ˜ธ ๋˜๋Š” ํ‚ค๋ฅผ ๊ตฌ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„ˆ๋ฌด ์Šฌํ”„๋‹ค ๐Ÿ˜–. ์ด์ œ ๋‚ด ์›๊ฒฉ ์ปดํ“จํ„ฐ๊ฐ€ docker-machine ls ์‹คํ–‰ํ•  ๋•Œ ๋กœ์ปฌ๋กœ timeout ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ์ปดํ“จํ„ฐ ๊ตฌ์„ฑ์„ ์—‰๋ง์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋กœ์ปฌ Docker ๋จธ์‹  ํด๋”์—์„œ ์žฌ๊ตฌ์„ฑ / ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ๋กœ์ปฌ ํ”„๋กœ๋น„์ €๋‹์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? VM์„ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๊นŒ?

๋กœ์ปฌ Docker ๋จธ์‹ ์— ์›๊ฒฉ ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•˜๋Š” ์˜ต์…˜์— ๋Œ€ํ•œ ํˆฌํ‘œ :

๋„์ปค ๋จธ์‹  ์ถ”๊ฐ€--์šด์ „์‚ฌ

โณ๐Ÿค’

์ด๊ฒƒ์€ ์ •๋ง ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์™œ ๊ทธ๋ ‡๊ฒŒ ์–ด๋ ค์šด์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ธ์ฆ์„œ๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์ง€๋งŒ์ด ๋ฌธ์„œ์™€ ํ•จ๊ป˜ ์ž‘์—… ํ•  ๋ช…๋ น์„ ๋ฌธ์„œํ™”ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋‚ด ๋ฌธ์ œ๋Š” ์ž˜๋ชป๋œ ๊ถŒํ•œ ๋ฐ / ๋˜๋Š” ์›๊ฒฉ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž ์ด๋ฆ„์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค (๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋Š” docker-user ). ์•„๋งˆ๋„ ๋‹น์‹ ์„ ๋Œ€์‹ ํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
docker-machine ๋ช…๋ น์˜ ์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋Š” ๋‹ค๋ฅธ ๊ณต๊ธ‰์ž (์˜ˆ : google)์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
โ€ข https://github.com/docker/machine/issues/3522#issuecomment -280275707
โ€ข https://docs.docker.com/machine/drivers/generic/
โ€ข์ด ์ฃผ์ œ์— ๋Œ€ํ•ด ๋‚ด๊ฐ€ ํ•ด๊ฒฐ ํ•œ ๋‹ค๋ฅธ ๋Œ€ํ™”๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ์ €๋Š” ์ œ ๊ฒฝ์šฐ์— ์›๊ฒฉ ๋„์ปค ํ˜ธ์ŠคํŠธ ์‹คํŒจ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์›์ธ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
[ root @ linodevps ~] # ps -ef | grep docker | grep -v grep
๋ฟŒ๋ฆฌ 17079 1 0 03:06? 00:00:00 / usr / bin / docker daemon -H tcp : //0.0.0.0 : 2376 //์ด ์Šคํƒ€์ผ์€ ๋„์ปค ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋กœ์ปฌ fd ๋˜๋Š” ์œ ๋‹‰์Šค ์†Œ์ผ“ ํ†ต์‹ ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ sudo ๋„์ปค์—์„œ ๋ฉˆ ์ถฅ๋‹ˆ ๋‹ค. docker-machine add๋ฅผ ์‹คํ–‰ํ•  ๋•Œ version ๋ช…๋ น.

์ด๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด docker ์„œ๋น„์Šค ๊ตฌ์„ฑ ํŒŒ์ผ (๊ธฐ๋ณธ๊ฐ’์€ /usr/lib/systemd/system/docker.service)์„ ํŽธ์ง‘ํ•˜๊ณ  ExecStart ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ / usr / bin / docker daemon -H tcp : // ์—์„œ ๋ณ€๊ฒฝํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค 2376- / usr / bin / docker ๋ฐ๋ชฌ -H tcp : //0.0.0.0 : 2376 -H fd : // ๋˜๋Š” export DOCKER_HOST = tcp : //0.0.0.0 : 2376,
๊ทธ๋Ÿฐ ๋‹ค์Œ sudo systemctl daemon-reload && sudo systemctl restart docker, docker-machine add ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๊ณ  ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์„ฑ๊ณต์ ์œผ๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ณผ์ •์—์„œ docker-machine์€ ๋Œ€์ƒ Docker ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ SSL ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  /etc/systemd/system/docker.service.d๋ผ๋Š” ์ƒˆ ๋””๋ ‰ํ† ๋ฆฌ ์•„๋ž˜์— ์ƒˆ docker ์„œ๋น„์Šค ๊ตฌ์„ฑ ํŒŒ์ผ 10-machine.conf๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

tdy218 @ Chris-Laptop $ dm ls
์ด๋ฆ„ ํ™œ์„ฑ ์šด์ „์ž ์ƒํƒœ URL SWARM DOCKER ์˜ค๋ฅ˜
docker-vm119-์ผ๋ฐ˜ ์‹คํ–‰ tcp : //192.168.135.119 : 2376 v17.03.1-ce
docker-vm120-์ผ๋ฐ˜ ์ค‘์ง€ ์•Œ ์ˆ˜ ์—†์Œ

docker-vm119๋Š” ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ์กด์žฌํ•˜๋Š” Docker ํ˜ธ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ์—์„œ ์šฐ๋ฆฌ๋Š” docker-machine์ด ๊ธฐ์กด docker ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ง€์›๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. @Bean Young์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

docker-machine create --driver none -url=tcp://123.123.123.123:2376 dockerhost1 ๋Š” ์ œ๊ฐ€ ์˜ค๋žซ๋™์•ˆ ๋„์ปค์— ๋Œ€ํ•ด ๋ฐฐ์šด ์ตœ๊ณ ์˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์‚ฌ์šฉ์ž๊ฐ„์— ๊ฐœ๋ฐœ ๋จธ์‹ ์„ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ์ •๋ง ์‰ฌ์›Œ์•ผํ•ฉ๋‹ˆ๋‹ค.

// cc @nathanleclaire

์—…๋ฐ์ดํŠธ : ๋ช…ํ™•ํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด, ํŠนํžˆ ๋‹ค๋ฅธ ํŒ€์›์—๊ฒŒ ์ธ์ฆ์„œ๋ฅผ ๋ฏธ๋ฆฌ ๊ณต์œ ํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—๋„ ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ..

@dhrp ์ธ์ฆ์„œ๋ฅผ ๋ฏธ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ๋”ฐ๋ฅด๋‚˜์š”? ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ค ๋ง™์†Œ์‚ฌ, ์ง€๋‚œ 1 ๋…„ ๋ฐ˜์ด ๋„˜๋„๋ก ๋ฏฟ์„ ์ˆ˜ ์—†์–ด ์•„๋ฌด๋„์ด ๋ฌธ์ œ๋ฅผ ์˜๊ณ  ์‹ถ์ง€ ์•Š์•„ ๐Ÿ˜ž ๐Ÿ˜ž ๐Ÿ˜ž

@thaJeztah @AkihiroSuda @albers @tianon ์ •๋ง ์ด๊ฒƒ์ด ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๊ณ  ์ค‘์š”ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

๊ธฐ์กด ๋„์ปค ํ˜ธ์ŠคํŠธ ( docker-machine create --driver=generic --generic-ip-address <ip> <name> ๋ฅผ ์žฌ ํ”„๋กœ๋น„์ €๋‹ํ•˜๋ ค๊ณ ํ–ˆ๋Š”๋ฐ ๊ธฐ์กด ์ธ์ฆ์„œ๋ฅผ ๋ฌดํšจํ™”ํ•˜์ง€ ์•Š๊ณ  ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์›๋ž˜ ๋„์ปค ํ˜ธ์ŠคํŠธ๋ฅผ ํ”„๋กœ๋น„์ €๋‹ ํ•œ ๋™์ผํ•œ ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ƒ ๋œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์šฐ์—ฐํžˆ ์ด๊ฒƒ์„ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธ€์Ž„์š”, @nathanleclaire ๋Š”

ํŒ€๊ณผ ํ‚ค๋ฅผ ์ •๋ง๋กœ ๊ณต์œ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์†Œ์Šค ์ œ์–ด ํ”„๋ผ์ด๋น— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜์‹ญ์‹œ์˜ค. ํ•„์š”ํ•œ ํ‚ค๋ฅผ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด ๋ˆ„๊ตฐ๊ฐ€ ์ด๋ฏธ ๋งŒ๋“  ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค : https://gist.github.com/schickling/2c48da462a7def0a577e

"์šฐ๋ฆฌ๊ฐ€ ์˜ˆ์˜ ๋ฐ”๋ฅด๊ฒŒ ํ–‰๋™ ํ•  ์ˆ˜์—†๋Š” ์ด์œ ๋Š” ์—†์Šต๋‹ˆ๋‹ค"-Leonidas

๋‚˜๋Š” ์—ฌ์ „ํžˆ docker-machine์ด scp์ฒ˜๋Ÿผ ํ–‰๋™ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ‚ค์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์ง€ ๋ชปํ•˜๊ฒŒํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๊ฒƒ์— ๋Œ€ํ•œ ํ•œ ๊ฐ€์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฐฉ๊ธˆ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
๋™์ผํ•œ ํ”Œ๋žซํผ์— ๊ธฐ์กด docker-machine์ด ์žˆ๊ณ  (mine is google) docker-machine์—†์ด ํ•ด๋‹น ์ปดํ“จํ„ฐ์— ssh / scp ํ•  ์ˆ˜์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ์ž‘๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š”ํ–ˆ๋‹ค :

mkdir ~/.docker/machine/machines/new-machine
cp -r ~/.docker/machine/machines/old-machine/* ~/.docker/machine/machines/new-machine/

#then replace all instances of "old-machine" with "new-machine" in ~/.docker/machine/machines/new-machine/config.json

#then add the public key from your new-machine folder into the authorized_keys file for the docker-user on the new machine, e.g.
scp ~/.docker/machine/machines/new-machine/id_rsa.pub docker-user<strong i="8">@new_machine</strong>:/home/docker-user
ssh docker-user<strong i="9">@new_machine</strong> -c "cat ~/id_rsa.pub >>~/.ssh/authorized_keys"

(ssh ๋ช…๋ น์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์ง€ ๋ง๊ณ  ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ์‹ญ์‹œ์˜ค-https://encrypted.google.com/search?hl=ko&q=ssh%20copy%20public%20key)

๋‚ด๋ณด๋‚ด๊ธฐ / ๊ฐ€์ ธ ์˜ค๊ธฐ ๋ช…๋ น์˜ ๊ฒฝ์šฐ +1.
๋ฉ€ํ‹ฐ ํ‚ค ์ง€์›์˜ ๊ฒฝ์šฐ +1.

๊ด€๋ฆฌ ์›Œํฌ ์Šคํ…Œ์ด์…˜์„ ์ด๋™ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์€ ์šฉ๋‚ฉ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์—„์ฒญ๋‚œ ๋‹จ์ผ ์žฅ์•  ์ง€์ ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ : ์ปดํ“จํ„ฐ ๋ถ„์‹ค, ๋„๋‚œ, ํ™”์žฌ, ํ•˜๋“œ์›จ์–ด ์˜ค๋ฅ˜, ์†Œํ”„ํŠธ์›จ์–ด ์˜ค๋ฅ˜, ํŒ€ ์•ก์„ธ์Šค ๋ฌธ์ œ, ๊ด€๋ฆฌ์ž ๋ฌธ์ œ ๋“ฑ ...

Docker-machine์€์ด๋ฅผ ์—ผ๋‘์—๋‘๊ณ  ์ƒ๊ฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ผ ๊ฐœ๋ฐœ์ž ํ”„๋กœ๋น„์ €๋‹์„์œ„ํ•œ ํŒจ์ŠคํŠธ ํ‘ธ๋“œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ‰๋ฒ”ํ•˜๊ณ  ๋‹จ์ˆœํ•˜๋ฉฐ ์ž‘๋™ํ•˜๋ฉฐ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค!

์—ฌ๊ธฐ์— ์–ธ๊ธ‰ ๋œ ์ผ๋ถ€ ๊ธฐ๋Šฅ์€ Docker EE ์ œํ’ˆ (์˜ˆ : ํŒ€ ๋ฐ RBAC)์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ๊ฐ์‚ฌ ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์ ์–ด๋„ ํ•ฉ๋ฆฌ์ ์ด๋˜๋„๋ก ๋…ธ๋ ฅํ•˜์‹ญ์‹œ์˜ค.

์ด ์Šค๋ ˆ๋“œ์—์„œ ๊ธฐ๊ณ„ ๊ณต์œ  ๊ฐ€ ์•„์ง ์–ธ๊ธ‰๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

machine-export <machine-name>
>> exported to <machine-name>.zip
machine-import <machine-name>.zip
>> imported

์•ˆ๋…•ํ•˜์„ธ์š” @andrevtg

๋‚ด๊ฐ€ ๋ฐฐ์€๋ง๋• ํ•œ ๊ฒƒ ๊ฐ™์œผ๋ฉด ๋ฏธ์•ˆํ•ด. ๋‚˜๋Š” ๋„์ปค ๋จธ์‹ ์„ ์ •๋ง ์ข‹์•„ํ•˜๊ณ  ์ด๊ฒƒ์ด ๋” ๋‚˜์•„์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‹จ์ผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํ“จํ„ฐ๊ฐ„์— ์‰ฝ๊ฒŒ ์ด๋™ํ•  ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ •๋ง ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ผ์ •์ด ํ’€๋ฆฌ๋ฉด GO๋ฅผ ๋ฐฐ์šฐ๊ณ ์ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” @ dmitrym0

์ด ํ‹ฐ์ผ“์€ ๊ธฐ์กด ์›๊ฒฉ ๋„์ปค ํ˜ธ์ŠคํŠธ์— ์—ฐ๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ๋Šฅ๋ ฅ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์ ์— ๋” ์ดˆ์ ์„ ๋งž์ถ˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ฆ‰, ์‹œ์Šคํ…œ ๊ณต์œ ๋Š” ๋กœ์ปฌ ๋„์ปค ํ˜ธ์ŠคํŠธ๋ฅผ ์ด๋™ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ œ์•ˆ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

@ Jared-Harrington-Gibbs machine-share ๋Š” "_ ๊ธฐ์กด docker-machine ํ˜ธ์ŠคํŠธ ์ถ”๊ฐ€ _"๋ฌธ์ œ๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” docker-compose๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์•ฑ์„ ๋ฐฐํฌํ•˜๋ฉฐ ์šฐ๋ฆฌ์—๊ฒŒ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. machine-share ๋กœ ์ธ์ฆ์„œ ์„ธํŠธ๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  ํ•„์š”ํ•œ ํŒ€์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์›์—๊ฒŒ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์ด์ง€๋Š” ์•Š์ง€๋งŒ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋„์ปค ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ฒˆ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋ฉด ์„ฑ๊ณต์ ์œผ๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

@sneak config.json ์˜ ๊ฒฝ๋กœ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ํŒŒ์ผ์„ ๊ฐ€๋ฆฌ ํ‚ค์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—์ด ์†”๋ฃจ์…˜์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” docker-machine ์ด config.json ํŒŒ์ผ์— ์˜์กดํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€๋งŒ, ํ‹€๋ฆด ์ˆ˜ ์žˆ์œผ๋ฉฐ ์•„์ง ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ์ด ์ €์žฅ๋œ ์ •ํ™•ํ•œ ๊ฒฝ๋กœ๋ฅผ ์•Œ ์ˆ˜์—†๋Š” ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ ์ค‘์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ƒ๋Œ€ ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์˜ต์…˜์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฌธ์ œ๊ฐ€ ์ธ๋ ฅ์ด๋ผ๋ฉด ์ปค๋ฎค๋‹ˆํ‹ฐ์— ํ•ด๊ฒฐ์ฑ…์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋ฉฐ์น ์„ ํ• ์•  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๊ด€๋ฆฌ์ž์˜ ์ง€์‹œ๋ฅผ ๋ฐ›๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ [Resolved] ๋Š”์ด ๊ธฐ๋Šฅ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๋‚ด๊ฐ€ ๋ณด์ง€ ๋ชปํ•˜๋Š” ๊ณณ์—์„œ ์ด๋ฏธ ์ง€์›๋ฉ๋‹ˆ๊นŒ?

์ด๊ฒƒ์€ ์ „ํ˜€ ๊ตฌํ˜„ํ•  ์˜๋„๊ฐ€์—†๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์›๋ž˜ ๊ฐœ๋ฐœ์ž์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ์–ด๋””์—๋„ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐœ์ธ ํ‚ค๋ฅผ ์›๊ฒฉ ์ปดํ“จํ„ฐ์— ์ €์žฅํ•  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Docker EE์กฐ์ฐจ๋„ ์š”์ฒญ ๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ "ํด๋ผ์ด์–ธํŠธ ๋ฒˆ๋“ค"์ด ์ƒ์„ฑ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ํ˜ธ์ŠคํŠธ์— ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์‚ฌ๋žŒ๋“ค์€ ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฌ์šด ๊ธฐ๋Šฅ์„ ์š”๊ตฌํ•˜์ง€๋งŒ ํ•ฉ๋ฆฌ์ ์ธ ๋ณด์•ˆ ์ œ์•ฝ์œผ๋กœ ์ธํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ „ํ˜€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

@andrevtg ์š”์ฒญ์€ VM ์ž์ฒด๊ฐ€ ํ‚ค๋ฅผ ์ €์žฅํ•˜๊ธฐ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ (ํ‚ค๋ฅผ ์™„์ „ํžˆ ์“ธ๋ชจ ์—†๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ) Docker-machine ํด๋ผ์ด์–ธํŠธ (์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด์ง„ ์‹ค์ œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ)๋ฅผ์œ„ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•œ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋กœ ์ž๋ฐœ์ ์œผ๋กœ ํ‚ค๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ํ‚ค๋ฅผ ์•„์นด์ด๋ธŒ๋กœ ๋ฌถ๋Š” docker-machine export ๋ช…๋ น๊ณผ์ด ์•„์นด์ด๋ธŒ์˜ ์ˆ˜์‹ ์ž๊ฐ€ ๋‹ค์Œ์— ์„ค๋ช… ๋œ ๋จธ์‹ ์„ ๊ฐ€์ ธ ์˜ค๋„๋ก ํ•ด๋‹นํ•˜๋Š” docker-machine import ๋ช…๋ น์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„์นด์ด๋ธŒ. ํ‚ค ์ „์†ก ๊ฒฝ๊ณ„์—์„œ์˜ ์•”ํ˜ธํ™” / ๋ณตํ˜ธํ™”๋Š” ์‚ฌ์šฉ์ž์˜ ๋น„์ฆˆ๋‹ˆ์Šค์ž…๋‹ˆ๋‹ค (PGP ์ด๋ฉ”์ผ, SFTP ๋“ฑ ์›ํ•˜๋Š”๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ).

์ •ํ™•ํžˆ docker-machine create ๋Š” ์ดˆ๋ณด์ž๊ฐ€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ๋ณต์ œ ๋ฐฉ๋ฒ•์„ ์•Œ์ง€ ๋ชปํ•˜๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ๊ณผ ํ‚ค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ssh ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ํ˜ธ์ŠคํŠธ ํŒŒ์ผ์— ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ปจํ…Œ์ด๋„ˆ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๊ณ  docker-machine ์— ์•Œ๋ฆฌ๋‚˜์š”? docker-machine use ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ๋ชจ๋“  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ˆ˜๋™์œผ๋กœ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์ด์ƒ์ ์œผ๋กœ๋Š” ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ์œ„ํ•œ docker-machine add [name] , ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด docker-machine export , ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ํ•ด๋‹น ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๊ฐ€์ ธ ์˜ค๊ธฐ์œ„ํ•œ docker-machine import ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ‚ค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ทจ์†Œํ•˜๊ธฐ ์œ„ํ•ด docker-machine rm [name] ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@dhrp rpi์—์„œ ์‹คํ–‰์ค‘์ธ ๋„์ปค ์„œ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์ปค ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์—์„œ ์•ก์„ธ์Šคํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ํ•ด์•ผ ํ•  ์ผ์€ :
docker-machine create --driver none -url=tcp://raspberry.local:22 rpihost
์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋ž˜์„œ @ 360disrupt , ๊ทธ๋žฌ์Šต๋‹ˆ๊นŒ? ๋™์ผํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋กœ ๊ณ ์‹ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ @ 360disrupt , ๊ทธ๋žฌ์Šต๋‹ˆ๊นŒ? ๋™์ผํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋กœ ๊ณ ์‹ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋‹ˆ, ์•„์ง.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„. ์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‚˜์š”? ์šฐ๋ฆฌ๋Š” ๋‚ด๊ฐ€ ์ผํ•˜๋Š” ํšŒ์‚ฌ์˜ ๋ชจ๋“  ์•ฑ์— ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ๊ธฐ๊ณ„ ๊ณต์œ ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๊ทธ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ ์€ ์ผ๋ฐ˜ ๋“œ๋ผ์ด๋ฒ„๋กœ ๋จธ์‹ ์„ ๋งŒ๋“ค๊ณ  ๊ธฐ์กด ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•  ๋•Œ ์ƒ์„ฑ์‹œ ํ˜„์žฌ ์„œ๋ฒ„์—์„œ ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ฐพ์€ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•ก์„ธ์Šคํ•˜๋ ค๋Š” ๋จธ์‹ ์„ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด๋ณด๋‚ด๋Š” ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ Python์œผ๋กœ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ปดํ“จํ„ฐ ์†Œ์œ ์ž์˜ ๋ชจ๋“  ๊ตฌ์„ฑ ํŒŒ์ผ๊ณผ ์ธ์ฆ์„œ๋ฅผ ์ƒˆ ์†Œ์Šค๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ž˜ ์ž‘๋™ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ ์ธ์ฆ์„œ๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ์„ ๊ณต์œ ํ•˜๋Š” ๊ณต์‹์ ์ธ ๋ฐฉ๋ฒ•์ด ์—†๋‹ค๊ณ  ๋ฏฟ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

docker-machine add ๋˜๋Š” docker-machine create --existing ๋Œ€ํ•œ +1

์ด๊ฒƒ์€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. machine-share : computer : : rabbit2 :

@dweomer ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์˜ ๊ธฐ์กด ๋„์ปค ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ผ๋ฐ˜์ ์ด๊ณ  ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹™๋‹ˆ๊นŒ?

@atemerev : ์•„๋‡จ, ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์™€ ๊ฐ™์ด, Docker๊ฐ€ ํ™œ์„ฑํ™” ๋œ ํ˜ธ์ŠคํŠธ๋ฅผ ์ƒ์„ฑ / ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ธฐ ์œ„ํ•ด Docker Machine์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, @ tdy218์ด ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๋‹ค์†Œ ๋œ ๋ถ„๋ช…ํ•œ generic ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. generic ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ˜ธ์ŠคํŠธ๋ฅผ ์ธ๊ณ„ ๋ฐ›์•„ ๋‹ค์‹œ ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์€ ssh ๋ฐ๋ชฌ์ด์žˆ๋Š” ์‹คํ–‰์ค‘์ธ ํ˜ธ์ŠคํŠธ์™€ ์•”ํ˜ธ๊ฐ€์—†๋Š” sudo ์•ก์„ธ์Šค ๊ถŒํ•œ (๋˜๋Š” ๋ฃจํŠธ)์ด์žˆ๋Š” ํ•ด๋‹น ํ˜ธ์ŠคํŠธ์˜ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค. ์ด ์žฌ ํ”„๋กœ๋น„์ €๋‹์€ ๊ธฐ์กด Docker ์„ค์น˜๊ฐ€ ๊ธฐ๊ปํ•ด์•ผ ์—…๊ทธ๋ ˆ์ด๋“œ๋œ๋‹ค๋Š” ์ ์—์„œ ๋น„ํŒŒ๊ดด ์ ์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ @atemerev ์— ๋™์˜ํ•ด์•ผ ๊ฑฐ์˜ ๋งค์ฃผ ๋‹ค๋ฅธ ํ”„๋กœ๋น„์ €๋‹ ๋œ ์‹œ์Šคํ…œ์— ์—ฐ๊ฒฐํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค : machine-share ๐Ÿ’ป ๐Ÿ‡

์ด npm ํŒจํ‚ค์ง€๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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