์ค๋๋ ๋ฌธ์ ์ด์ง๋ง ์ ์ฉํ ๋ต์ ์ฐพ์ ์ ์์ต๋๋ค.
๋ค์ ํ๊ฒฝ์ด ์์ต๋๋ค.
๋ก์ปฌ ํธ์คํธ (๋ด ๋
ธํธ๋ถ) ์ด๋ฆ : 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 ๋ช ๋ น ์ค๋ก ๋ด๋ณด๋ด๋ ค๋ฉด ์ด๋ป๊ฒํด์ผํฉ๋๊น?
๋์ปค ๋จธ์ ์ง์์ด ๊ธฐ์กด ๋์ปค ํธ์คํธ๋ฅผ ์ถ๊ฐํฉ๋๊น?
์ง๋ 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 ์ค๋ฅ, ์ถ๋ ฅ :
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 ํจํค์ง๊ฐ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@dweomer ๋ค๋ฅธ ์ปดํจํฐ์ ๊ธฐ์กด ๋์ปค ๋จธ์ ์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋งค์ฐ ์ผ๋ฐ์ ์ด๊ณ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋๊น?