Windows Docker ์์ง ์ฉ ๋์ปค ๋จธ์ ๋๋ผ์ด๋ฒ ๋ฐ ํ๋ก๋น์ ๋ ๋๊ตฌ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์๊ฐํ๊ธฐ ์์ํ ์ฌ๋์ด ์์ต๋๊น?
๊ทธ๋ ๋ค๋ฉด ๋๊ตฌ๋ docker-machine์ ์ฌ์ฉํ์ฌ Linux Docker Engine์ ์ฌ์ฉ๋๋ ๊ฒ๋ง ํผ ์ฝ๊ฒ Windows Server 2016 TP4์ ์์ ํ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๊น?
๋ค์๊ณผ ๊ฐ์ ๊ฒ :
docker-machine create -d generic --generic-winrm-user "administrator" ... dev
docker-machine create -d azure --azure-username "administrator" --azure-winrm-port 5985 ... dev
SSH ๋์ WinRM (HTTP / HTTPS)์ ์ฌ์ฉํ์ฌ ์๊ฒฉ Windows Server์ ์ก์ธ์คํ๊ณ TLS ์ธ์ฆ์๋ฅผ ์ฌ๊ธฐ์ ๋ฃ๊ณ Windows Docker ์๋น์ค ๋ฐ ๊ธฐํ ์ฌํญ์ ์ฌ๊ตฌ์ฑํฉ๋๋ค.
Packer์๋ ํ๋ก๋น์ ๋์ ์ํด Go์ ๋ด์ฅ ๋ SSH ๋ฐ WinRM ์ฉ ์ปค๋ฎค๋์ผ์ดํฐ๊ฐ ์์ต๋๋ค.
์ ์ ์ฐ๊ฒฐํ๋ ๊ฒ๋ง์ผ๋ก๋ ...
ํ @ahmetalpbalkan : ๋ฏธ์ :
ํ๋ก ๋น ์ ๋ ๋ชจ๋ธ์ด ํ์ฌ ์๋ํ๋ ๋ฐฉ์์ผ๋ก ์ธํด ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ _ ๋๋ฌด _ ๋ฏธ์น ์ง์ด ์๋ ์๋ ์์ง๋ง, ๊ฝค ๊ทผ๋ณธ์ ์ธ ๊ฐ์ (์ : SSH์ ์กด์ฌ)์ ๋ํด ๋ค์ ์๊ฐํ๊ฑฐ๋ ๋ฌธ์ํํด์ผํฉ๋๋ค.
๊ตฌํํด์ผํ๋ ๋ฐฉ๋ฒ์ Windows ์์คํ
์์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ํ๋ด๋ ํ๋๊ทธ๋ฅผ ๊ฐ๋ ๊ฒ์
๋๋ค. ์ : --generic-winrm-userpass
.
์ ๋ Windows Server ์ปจํ ์ด๋์ ๋ํด ์ ๋ชจ๋ฆ ๋๋ค. ๊ทธ๋ฌ๋ Nathan์ด ๋งํ๋ฏ์ด ๋๋ถ๋ถ์ ์์ ์ Microsoft๊ฐ์ด๋ฅผ ์ํํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ฑฐ๋ (๋ฐ์ํ๊ณ ์์) WinRM์ ์ฌ์ฉํ์ฌ polyfill์ ์ ๊ณตํจ์ผ๋ก์จ Windows์์ SSH ํ๋กํ ์ฝ์ ์ป๋ ๊ฒ์ ๋๋ค (๋๋ ๊ทธ๋ ์ง ์์ต๋๋ค). ๊ทธ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์์ญ์์ค).
๋๋ ์ด๊ฒ์ ๋ํ ํ ๋ก ์ด ๋ด๋ถ์ ์ผ๋ก๋ ์ผ์ด๋ฌ๋ ๊ฒ์ ๊ธฐ์ตํฉ๋๋ค. cc : @jstarks ๋ Windows ์ปจํ ์ด๋ ํ์ ์์ต๋๋ค.
๋ญ๊ฐ ํ๋กํ ํ์ ์ ๋ง๋ค ์ ์๋ค๊ณ ์๊ฐํ๋ค๋ฉด ๋๋ ๊ทธ๊ฒ์ํ๋ผ๊ณ ๋งํ ๊ฒ์ด๋ค.
์๋ ํ์ธ์ @StefanScherer , ์ ๋ Hyper-V ํ์ PM์ด๋ฉฐ ์ค์ ๋ก์ด๋ฅผ ๊ฐ๋ฅํ๊ฒํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์๊ฐํ๋ ๊ฒ ์ค ํ๋๋ ์๋ง๋ ์ด๊ฒ์ Docker Machine์ด ๊ฐ์ ธ์ฌ ์์๋ OS๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. Nano๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ๋ค์ด๋ก๋๋ก ์ ์ง๋ฉ๋๋ค. Open SSH in Windows ํ๋ก์ ํธ์ ์ ์ฅ์๋ ์ฌ๊ธฐ์ ์์ต๋๋ค .
๋ชจ๋ ์์ด๋์ด์ ๊ฐ์ฌ ๋๋ฆฌ๋ฉฐ ํ๋กํ ํ์ ์ ์ ์ํ๋ ค๋ฉด ์ ์๊ฒ ์๋ ค์ฃผ์ญ์์ค. ์ด ์์ ์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์์ ๋ด๋ฉด ์ฌ๊ธฐ์ ๊ณ์ ๊ฒ์ํ๊ฒ ์ต๋๋ค.
์ฐธ์กฐ : @dgageot
@ enderb-ms ์ค, ๋๋ ธ ์ด๋ฏธ์ง๋ ์ข์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ OpenSSH๋ ์ต์ ์ ๋๋ค. ๊ทธ ๋์ Packer ๋ฐ Vagrant์ ๊ฐ์ ๋ค๋ฅธ ํ๋ก์ ํธ๋ WinRM์ ์ฌ์ฉํ๊ณ SSH๋ฅผ ์ ๊ฑฐํ์ฌ๋ณด๋ค ๋ค์ดํฐ๋ธ ํต์ ์ ํ ์ ์๋๋ก Windows ์ง์์ ๊ฐ์ ํ์ต๋๋ค.
๋ด๊ฐ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ก ์๊ฐํ ๊ฒ์ docker-machine์ TP4 ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ ๋๋ผ์ด๋ฒ๋ก.
azure ๋๋ผ์ด๋ฒ๋ฅผ ์์ง ์ฌ์ฉ ํด๋ณด์ง ์์์ต๋๋ค. Azure์์ TP4 VM + docker ์์ง ํ ํ๋ฆฟ์ ์ ํํ๋ ค๊ณ ์๊ฐํ๊ณ docker-machine์ Linux VM ๋์ Windows VM์ ํ๋ก๋น์ ๋ํ๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. docker-machine์ด ์๊ฒฉ Docker Engine๊ณผ ํจ๊ป ์คํ๋๋ ๋ก์ปฌ ์ปดํจํฐ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด ๋ช ๊ฐ์ง ์ต์ํ์ ๋จ๊ณ ๋ง ์ํํ๋ฉด๋ฉ๋๋ค.
๋ค์์ ์ด๋ฏธ Docker๊ฐ ์ค์น๋ Linux VM์ ๋ํด ์คํ๋๋ ์ผ๋ฐ ๋๋ผ์ด๋ฒ์ ๋จ๊ณ์ ๋๋ค. Windows์ ๋ํ ๋ช ๊ฐ์ง ์์ด๋์ด๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ฌ์ ์ค์น๋ Docker ์์ง ์๋๋ฆฌ์ค๊ฐ์๋ Azure / ๋ก์ปฌ TP4์ ๊ฒฝ์ฐ :
1 ๋จ๊ณ) SSH ๋์ WinRM์ ์ฌ์ฉํด์ผํฉ๋๋ค (์ : packer์ winrm ์ปค๋ฎค๋์ผ์ดํฐ ์ดํด๋ณด๊ธฐ).
2 ๋จ๊ณ)๋ ๋ชจ๋ ๊ฒ์ด ์คํ๋๊ณ ์๋์ง ๊ทธ๋ฆฌ๊ณ VM์ด TP4์ธ์ง ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ๋ถํ ์์ด ๋ชจ๋ ๊ฒ์ ์ค์นํ ์์๋ ๊ฒฝ์ฐ ์ค๋จํ์ญ์์ค.
๊ทธ๋ฐ ๋ค์ 9 ๋จ๊ณ๋ฅผ ์ํํด์ผํฉ๋๋ค.) ... 14.) ๋์ปค๋ฅผ ์ค์งํ๊ณ TLS ์ธ์ฆ์๋ฅผ ์ฝ์ ํ๊ณ ๋์ปค๋ฅผ ๋ค์ ์์ํฉ๋๋ค. ๊ทธ ํ docker-machine์ด ๊ธฐ์กด Azure VM / ๋ก์ปฌ ๋๋ ์จ-ํ๋ ๋ฏธ์ค Windows VM์ ๋ํ ์ฐ๊ฒฐ์ ๋ง๋ค๊ณ Docker ํฌํธ๋ฅผ ๋ณดํธํ์ต๋๋ค.
๋์ค์ 2 ๋จ๊ณ์์) "๋น"2016 ์๋ฒ๊ฐ 6 ๋จ๊ณ์์ Docker๋ฅผ ์ค์นํ ์ ์๋๋ก ํฅ์ ๋ ์ ์์ต๋๋ค.)
๊ทธ๋ฐ ๋ค์ Nano ์ด๋ฏธ์ง๊ฐ ํฌํจ ๋ "boot2docker.iso"๋ฅผ ๋ก์ปฌ๋ก ๋ค์ด๋ก๋ํฉ๋๋ค.
๋ช ๊ฐ์ง ์ฒซ ๋ฒ์งธ ์๊ฐ ;-)
@dgageot ๋น์ ์ ์ด๊ฒ์ ํฌ๋ญํฌ ํ ๊ณํ์ ๋๊น? ๊ทธ๋ ์ง ์๋ค๋ฉด Microsoft ์ง์์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ ์ ์ํ์ฌ ์งํํ ์ ์๋๋กํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@friism ์ด๋ฏธ @ enderb-ms์ ํจ๊ป ์งํ์ค์ธ ์์ ์ด ์์ต๋๋ค.
ํธ์ ๋ด์ ๊ฐ๊ธฐ ๋ ์์ธํ ์ ๋ณด๋ฅผ ์ป์ ์์๋ ๊ณณ์ด ์์ต๋๊น?
@dgageot Azure์์ Windows ์๋ฒ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ํ๊ณ Docker ์์ง์ ์ค์ ํ ์์๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค. @ enderb-ms์ ์์ ์ ์ฌ์ฉํ ์์๋ ์ ์ฅ์๊ฐ ์์ต๋๊น? ๊ฒํ ๋ฅผ ์ํด ์ฌ๊ธฐ์ ์ ์ถํ๊ณ @ enderb-ms๊ฐ ์ํํ๋ ๋ชจ๋ ์์ ๊ณผ ๋ณํฉํ๊ฑฐ๋ ํตํฉ ํ ์ ์์ต๋๋ค.
๋ด๊ฐ ํ ์ผ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช
cc @ahmetalpbalkan
ํธ์ ๋ด์ ๊ฐ๊ธฐ
hawt
@stefanfoulis @friism์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์์ ์ https://github.com/containerx/machine ์ ์์ง๋ง ์ฌ๊ธฐ์๋์ด PR๊ณผ ๊ด๋ จ์ด์๋ ๋ค๋ฅธ ๋ณ๊ฒฝ ์ฌํญ๋ ํฌํจ๋ฉ๋๋ค.
์ ๋ธ๋์น, ์ ๋ฆฌ ์ฝ๋๋ฅผ ๋ง๋ค๊ณ ์์ผ๋ฉฐ ๊ณง ํ ์์ฒญ์ ์ ์ถํ ๊ฒ์ ๋๋ค.
๋๋ ํ ๋ฆฌํ์คํธ๋ฅผํ๊ณ , ์ด๋ค ์ฝ๋ฉํธ์ ๋ฆฌ๋ทฐ๋ผ๋ ๊ฐ์ฌํ๋ค.
์์ง ์์ ์ด ํ์ํ ํ๋ ์ฝ๋ฉ ๋ ํญ๋ชฉ์ด ๋ช ๊ฐ ์์ผ๋ฉฐ,์ด ํญ๋ชฉ์ ๋ฉฐ์น ๋ด์ ์์ ๋ ๊ฒ์ ๋๋ค.
์ฐธ๊ณ ์ฉ PR : https://github.com/docker/machine/pull/3146
@ppadala ์ ๋ง ์ข์ต๋๋ค. @ enderb-ms ๋ฐ docker-machine ์ ์ง ๊ด๋ฆฌ์๋ ํ์ฌ Windows์์ WinRM ๋๋ ๋ถํธ ์คํธ๋ฉ OpenSSH๋ฅผ ์ฌ์ฉํด์ผํ๋์ง ์์ ๋ด๋ ค๊ณ ํฉ๋๋ค. ๋๋ ๊ทธ ์ฌ๋๋ค์ด ์์ผ๋ก ๋์๊ฐ ์ผ์ ๊ฒฐ์ ํ๊ฒ ํ ๊ฒ์ ๋๋ค.
azure ๋๋ผ์ด๋ฒ์ ๊ดํ ํ azure
๋๋ผ์ด๋ฒ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. Azure Resource Manager ์คํ์ ์ฌ์ฉํ์ฌ azure ๋๋ผ์ด๋ฒ๋ฅผ ๋ค์ ์์ฑํ์ต๋๋ค (๋๋จํ ๋ณ๊ฒฝ ์ฌํญ์
๋๋ค). ์ธ๋ถ ์ ๋ณด : https://github.com/docker/machine/issues/2742#issuecomment -189993875 ํ์ฌ Azure SDK์ ๊ฒฐํจ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด PR์ ๋ณด๋ด ์ Azure๋ฅผ ๋ฆด๋ฆฌ์ค ํ ๊ฒ์
๋๋ค. ์ด์ ์ฌ.
@ppadala ๊ฑฐ์ ๋ชจ๋ ํด๋ผ์ฐ๋ ์ ๊ณต ์
์ฒด๊ฐ WS2016 ์ด๋ฏธ์ง๋ฅผ ๊ฐ๊ฒ๋๊ณ (ํ์ํ ๊ฒฝ์ฐ) docker-machine์ด ํด๋น Windows ๊ด๋ จ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํด์ผํ๋ ๊ฒฝ์ฐ ์ด๊ฒ์ด ์๋ง๋ azure
๋๋ผ์ด๋ฒ ๋ณ๊ฒฝ์ด ์๋์ด์ผํ๋ค๋ ๊ฒ๋ ์ค์ํฉ๋๋ค.
@ppadala ์ ๋ง ์ข์ต๋๋ค. @ enderb-ms ๋ฐ docker-machine ์ ์ง ๊ด๋ฆฌ์๋ ํ์ฌ Windows์์ WinRM ๋๋ ๋ถํธ ์คํธ๋ฉ OpenSSH๋ฅผ ์ฌ์ฉํด์ผํ๋์ง ์์ ๋ด๋ ค๊ณ ํฉ๋๋ค. ๋๋ ๊ทธ ์ฌ๋๋ค์ด ์์ผ๋ก ๋์๊ฐ ์ผ์ ๊ฒฐ์ ํ๊ฒ ํ ๊ฒ์ ๋๋ค.
์ค์ ๋ก SSH ์ต์ ๋ ๊ณ ๋ คํ์ต๋๋ค. ๋ด๊ฐ ์๋ํ Windows OpenSSH ์๋ฒ๊ฐ ๋ง์์ ๋ค์ง ์์๊ณ OS X์์ ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๋ฐ ๋ฌธ์ ๊ฐ์์์ต๋๋ค. ์ฆ, ๊ฐ๋ฅํ ๋ชจ๋ SSH ์๋ฒ๋ฅผ ์๋ํ์ง ์์์ต๋๋ค. ํ ๋ก ์ ์ฐธ์ฌํ๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค. ํ ๋ก ์ด ์ด๋์์ ์งํ๋๊ณ ์๋์ง ์๋ ค์ฃผ์ธ์.
azure ๋๋ผ์ด๋ฒ์ ๊ดํ ํ, azure ๋๋ผ์ด๋ฒ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. Azure Resource Manager ์คํ์ ์ฌ์ฉํ์ฌ azure ๋๋ผ์ด๋ฒ๋ฅผ ๋ค์ ์์ฑํ์ต๋๋ค (๋๋จํ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋ค). ์ธ๋ถ ์ ๋ณด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. # 2742 (์ฃผ์) ํ์ฌ Azure SDK์ ๊ฒฐํจ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ์ Azure ๋๋ผ์ด๋ฒ๋ฅผ ๋ฆด๋ฆฌ์คํ๊ธฐ ์ํด PR์ ๋ณด๋ด๊ฒ ์ต๋๋ค.
๊ฑฑ์ ํ์ง ๋ง์ญ์์ค. ์ค์ ๋ก ์ ๊ฐ ํ ๋ณ๊ฒฝ ์ฌํญ์ azure ๋๋ผ์ด๋ฒ๋ฟ๋ง ์๋๋ผ OS ์ต์ ์ ์ถ๊ฐํ๊ธฐ ์ํด docker-machine์ ๋๋จธ์ง ๋ถ๋ถ์๋ ์ ์ฉ๋ฉ๋๋ค. # 2742์ ๊ฒ์ ๋ ์ฝ๋๋ฅผ ์ํํด ๋ณด๊ฒ ์ต๋๋ค. ์ฝ๋๊ฐ ์ด๋ฏธ Azure์์ Windows ์ด๋ฏธ์ง ํ์ ์ ์ง์ํ๋์?
@ppadala ๊ฑฐ์ ๋ชจ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์๊ฐ WS2016 ์ด๋ฏธ์ง๋ฅผ ๊ฐ๊ฒ๋๊ณ (ํ์ํ ๊ฒฝ์ฐ) docker-machine์ด ํด๋น Windows ๊ด๋ จ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํด์ผํ๋ ๊ฒฝ์ฐ ์ด๊ฒ์ด ์๋ง๋ ํ๋์ ๋๋ผ์ด๋ฒ ๋ณ๊ฒฝ์ด ์๋์ด์ผํ๋ค๋ ๊ฒ๋ ์ค์ํฉ๋๋ค.
์์์ ์ธ๊ธํ๋ฏ์ด ๋ณ๊ฒฝ ์ฌํญ์๋ ํ๋์ ๋๋ผ์ด๋ฒ์ ๋๋จธ์ง ๋์ปค ๋จธ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ชจ๋ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ด๋ป๊ฒ ์งํํ ๊น์? ๋ฆฌ์์ค ๊ด๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ปค๋ฐ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ ๋ค์ docker-machine์ Windows ๊ด๋ จ ํ๋๊ทธ๋ฅผ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
@ahmetalpbalkan # 2742์ ๊ฒ์ ํ ์ฝ๋๋ฅผ ํ์ธํ์ต๋๋ค. ๋ด๊ฐ ์ดํดํ๋ ๋ฐ์ ๊ฐ์ด ARM API๋ฅผ ์ฌ์ฉํ๋๋ก ๋๋ผ์ด๋ฒ๋ฅผ ์ด๋ํ๊ณ ์์ผ๋ฉฐ Windows ์ด๋ฏธ์ง๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ๋ด๊ฐ ์ ์ํ๋ ๊ฒ์
ํ์ฌ ๋๋ผ์ด๋ฒ๋ก 2์ 3์ ์ํํ์ผ๋ฉฐ ARM ๊ธฐ๋ฐ ๋๋ผ์ด๋ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฌํ ๋ณ๊ฒฝ์ ์ํ ํ ์ ์์ต๋๋ค. ๋ค ์๊ฐ์ ๋งํด๋ด.
@ppadala ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ด ๋ธ๋์น์์ ์ฝ๋๋ฅผ ๋ฆฌ๋ฒ ์ด์คํ๋ ค๊ณ ํ๋ฉด ์ฐจ๋จ์ด ํด์ ๋๊ณ ์์ ์ ์์ํ ์ ์์ต๋๋ค. ๊ธฐ๋ฅ ์ธก๋ฉด์์ ์ ๋๋ผ์ด๋ฒ๊ฐ ์ค๋น๋์์ง๋ง azure-sdk-for-go์์ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์์ผ๋ฉฐ ์ด๋ฌํ ๋ฌธ์ ๋ ์ฌ์ ํ ๋ช ์ฃผ ์ ๋ ๊ฑธ๋ฆด ์ ์์ผ๋ฉฐ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋์ด ์ค๊ธฐ๋ก ๋ณด๋ด๊ฒ ์ต๋๋ค. ์๋ขฐ.
@ppadala ์ด๊ฒ์ ๊ต์ฅํฉ๋๋ค! ์ด๋ ๊ฒ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ํ๊น๊ฒ๋ ๊ฐ๋ฐ์ ์๊ฐ์ ํ๋ณด ํ ์ ์์๊ธฐ ๋๋ฌธ์ ์์ด๋์ด ์์
์ ์์ํ์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ฌ๋๋ค์ด ์ฐธ์ฌํ๋๋ก ๋์ธ ์ ์์ต๋๋ค.
๋ค๋ฅธ ํ๋ซํผ (Linux ๋ฐ OS X)์ ๊ฐ๋ฐ์๊ฐ ๋ก์ปฌ ์ปดํจํฐ ๋๋ ํด๋ผ์ฐ๋์ VM์ Windows ์ปจํ
์ด๋ ํธ์คํธ๋ฅผ ๋ฐฐํฌ ํ ์ ์๋๋กํ๊ธฐ ์ํด SSH๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ด์ ์ค ํ๋์
๋๋ค. ์ผ๋ถ Azure ์ด๋ฏธ์ง์ OpenSSH๋ฅผ ํฌํจํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ํด๋น ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ฐ ์ถ๊ฐ ๋จ๊ณ๊ฐ ํ์ํ์ง ์์ต๋๋ค. OpenSSH์์ ๋ณธ ๋ฌธ์ ์ ๋ํด ์์ธํ ์ค๋ช
ํด ์ฃผ์๊ฒ ์ต๋๊น?
WinRM์ ๋ํด ์๊ฐํ๋ @dgageot ๋ฅผ ํ๊น
ํฉ๋๋ค.
๋ค์ ํ ๋ฒ,์ด ์ผ์ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค @ppadala
@ppadala ์ด๊ฒ์ ๊ต์ฅํฉ๋๋ค! ์ด๋ ๊ฒ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ํ๊น๊ฒ๋ ๊ฐ๋ฐ์ ์๊ฐ์ ํ๋ณด ํ ์ ์์๊ธฐ ๋๋ฌธ์ ์์ด๋์ด ์์ ์ ์์ํ์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ์ฌ๋๋ค์ด ์ฐธ์ฌํ๋๋ก ๋์ธ ์ ์์ต๋๋ค.
๋ค๋ฅธ ํ๋ซํผ (Linux ๋ฐ OS X)์ ๊ฐ๋ฐ์๊ฐ ๋ก์ปฌ ์ปดํจํฐ ๋๋ ํด๋ผ์ฐ๋์ VM์ Windows ์ปจํ ์ด๋ ํธ์คํธ๋ฅผ ๋ฐฐํฌ ํ ์ ์๋๋กํ๊ธฐ ์ํด SSH๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ด์ ์ค ํ๋์ ๋๋ค. ์ผ๋ถ Azure ์ด๋ฏธ์ง์ OpenSSH๋ฅผ ํฌํจํ๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ํด๋น ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ฐ ์ถ๊ฐ ๋จ๊ณ๊ฐ ํ์ํ์ง ์์ต๋๋ค. OpenSSH์์ ๋ณธ ๋ฌธ์ ์ ๋ํด ์์ธํ ์ค๋ช ํด ์ฃผ์๊ฒ ์ต๋๊น?
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH ๋ฅผ SSH ์๋ฒ๋ก ์ค์ ํ์ต๋๋ค. Mac์์ ssh <server> <cmd>๋ฅผ ์คํํ๋ฉด ์๋ฒ์ ๋ํ ์ผ๋ฐ ๋ํ ํ ssh๊ฐ ์๋ํ์ง๋ง ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
Azure ์ด๋ฏธ์ง์ SSH ์๋ฒ๋ฅผ ํฌํจํ๋ฉด ํ์คํ ๋ ๊น๋ํฉ๋๋ค. docker-machine ๋๋ผ์ด๋ฒ ์ธํฐํ์ด์ค๋ ์ด๋ฏธ SSH ์ก์ธ์ค๊ฐ ๊ฐ๋ฅํ๋ค๊ณ ๊ฐ์ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
@ppadala ์ค์ ๋ก Linux ๋ฐ Mac OS X์์ winrm ํต์ ์ ํ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ช ๊ฐ ์๋ค๋ ์ฌ์ค์ ๋ฐฉ๊ธ ๋ฐ๊ฒฌํ์ต๋๋ค. winrm ํต์ ์ ์ํด์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ์ญ๋๊น? Linux ๋ฐ Mac OS X์์ ์๋ํ๋์ง ์๊ณ ์์ต๋๊น?
@ppadala ์ค์ ๋ก Linux ๋ฐ Mac OS X์์ winrm ํต์ ์ ํ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ช ๊ฐ ์๋ค๋ ์ฌ์ค์ ๋ฐฉ๊ธ ๋ฐ๊ฒฌํ์ต๋๋ค. winrm ํต์ ์ ์ํด์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ์ญ๋๊น? Linux ๋ฐ Mac OS X์์ ์๋ํ๋์ง ์๊ณ ์์ต๋๊น?
์, ๋ด๊ฐ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ ํจ์ปค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. Mac OS X ๋ฐ Linux์์ ๋ชจ๋ ์๋ํฉ๋๋ค.
@ppadala ssh ๋ winrm ํ ๋ก ์ ๋งค์ฐ ํฅ๋ฏธ ๋กญ์ต๋๋ค.
@ppadala EnableWinRMHttp
azure์์ ํ๋ก๋น์ ๋ ํ ๋ winrm์ ์๋์ผ๋ก ํ์ฑํ ํ ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ธ๋ถ ์ ๋ณด : https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx
@ enderb-ms @ taylorb-microsoft ์ด๋ค ์์ WS2016 ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํด์ผํฉ๋๊น?
@ppadala EnableWinRMHttp๋ฅผ ์ฌ์ฉ ํ์ฌ https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx
์ด๋ฏธ์ด ์์ ์ ์ํํ์ฌ Azure์์ ํฌํธ๋ฅผ ์ฝ๋ ๋ค. ๋ํ ์ด๋ฏธ์ง์๋ WinRM์ด ํ์ฑํ๋๊ณ Windows ๋ฐฉํ๋ฒฝ ๊ท์น์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋์ด ์์ด์ผํฉ๋๋ค. ๋ด๊ฐ ์ด๊ฒ์ ์๋ชป ์ดํดํ๊ณ ์๋ค๋ฉด Microsoft ์ฌ๋๋ค์ด ์ฌ๊ธฐ์ ์ฐจ์ ํ ์ ์์ต๋๋ค.
@ppadala ์๋ง๋์ด Azure ๋น ๋ฅธ ์์ ํ ํ๋ฆฟ์ด ์ฝ๊ฐ ๋์์ด
ํฌํธ 2376์ ๋ํด ์ํํด์ผํ์ง๋ง ๊ฑฐ์ ๋์ผํฉ๋๋ค.
WinRM ๋ OpenSSH์ ๊ดํ ์ง๋ฌธ์ ๋๋ค.
๋ ๋ค ๊ถ๊ทน์ ์ผ๋ก ์ต์ ์ด์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค ... Windows ์ฉ OpenSSH ์์ ์ด ์งํ ์ค์ด์ง๋ง (https://github.com/PowerShell/Win32-OpenSSH) ์์ง ์์ ํ ์๋ฃ๋์ง ์์์ต๋๋ค (์ : ์์ง Nano ์๋ฒ์์ ์๋ํ์ง ์์). ). ๊ทธ๋์ ์ ๋ WinRM์ด ํ์ฌ ์ข์ ์ต์ ์ด๋ผ๊ณ ์๊ฐํ๋ฉฐ Linux ๊ฒฝํ๊ณผ ๋๋ฑํ๊ฒ ์ฌ์ฉํ ์์์ ๋ OpenSSH์ ๊ณ์ธตํ ํ ์ ์์ต๋๋ค.
@ppadala ๋ , ์ ๋๋ฃ ์ค ์ผ๋ถ๊ฐ Azure ๋๋ผ์ด๋ฒ์ ์ ์ฉํ๋ ค๋ ์ ๋ฐ์ดํธ์ ๋ํด ๋ช ๊ฐ์ง ์ง๋ฌธ์ํฉ๋๋ค.
๋ํ, ์ฑ๊ธํ ๋ง์ ์๋์ง๋ง ๊ถ๊ธํ ์ ์ด ์๋๋ฐ ์ธ์ PR์ด ์ฌ์ง ๊ถ๊ธํฉ๋๋ค. ๋ค์ ํ๋ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@friism ์ ์ง๋ฌธ๊ณผ ๊ด๋ จํ์ฌ
- Nano ์๋ฒ๋ก ํ ์คํธ ํ ๊ณํ์ด ์์ต๋๊น? ๋๋ผ์ด๋ฒ๋ ์ ํํ OS๋ฅผ ์ด๋ป๊ฒ ์ ํํฉ๋๊น?
์. ๋๋ผ์ด๋ฒ๋ --azure-image ์ต์ ์ ์ฌ์ฉํ์ฌ Linux ์ด๋ฏธ์ง๋ฅผ ์ ํํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ์ฌํ ์ต์ ์ผ๋ก ์ ๊ณต๋ Windows ์๋ฒ ์ด๋ฏธ์ง๋ฅผ ๊ฐ๋จํ ํ์ ์ํต๋๋ค. ์ฆ, ๋๋ ธ ์๋ฒ๋ฅผ ํ ์คํธํด์ผํฉ๋๋ค.
- ๋ณ๊ฒฝํ๋ ค๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ์ฉํ์ฌ์ด ์๋๋ฆฌ์ค๊ฐ ์๋ํฉ๋๊น? "์ฌ์ฉ์๋ Azure ๋๋ผ์ด๋ฒ์ ํจ๊ป docker-machine create ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ Windows ์ปจํ ์ด๋ ํธ์คํธ VM์ ํ๋ก๋น์ ๋ ํ ๋ค์ docker-machine env๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ์์ VM์์ ์ปจํ ์ด๋ ๊ด๋ฆฌ๋ฅผ ์์ํฉ๋๋ค."
์. ์ด๊ฒ์ด ์ฃผ์ ์ฌ์ฉ ์ฌ๋ก์ ๋๋ค. ํด๋ผ์ด์ธํธ ๊ธฐ๋ฅ์ ๋์ผํ๊ฒ ์ ์ง๋ฉ๋๋ค. Windows ์๋ฒ Docker ํธ์คํธ๋ฅผ ํ์ ์ํค๊ณ ํฌํธ๋ฅผ ์ค์ ํ๋ ๊ฒ๋ฟ์ ๋๋ค. Windows ๋์ปค ์์ง์ด์ด๋ฅผ ์ง์ํ๋ฉด ์๋ํฉ๋๋ค.
- Windows์์ "docker-machine create"๋ช ๋ น์ ์ด๋ป๊ฒ ์๊ฒผ์ต๋๊น?
์ถ๊ฐ ์ต์ ์ @StefanScherer ๊ฐ ์์์ ์ ์ํ ๋ฐฉ๋ฒ๊ณผ ์ ์ฌํ --azure-os "windows", --azure-winrm-username "username", --azure-winrm-password "password"์ ๋๋ค.
ํ์ ๋ผ์ธ๊ณผ ๊ด๋ จํ์ฌ ์ ๋ ์ด๋ฏธ ๋๋ถ๋ถ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ Azure ๋๋ผ์ด๋ฒ (https://github.com/docker/machine/pull/3159)๋ก ๋ค์ ๊ธฐ๋ฐํ์ง๋ง @ahmetalpbalkan , ์ ์ ๋ช๋ช ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ธ์ฆ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค (https : //github.com/docker/machine/issues/3201) ๋ฐ @ahmetalpbalkan ์ด ์ด์ ๋๋ผ์ด๋ฒ (https://github.com/docker/machine/issues/3201#issuecomment-199409527)๋ก ๋์๊ฐ๋ ๊ฒ์ ๋ํ ์๊ฒฌ์
Build์ ์ฐธ์ ํ์๋์? ์ง์ ๋๊ธฐํํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
@ppadala ๋ด๊ฐ ๊ฑฐ๊ธฐ์์ ๊ฒ! Docker๋ ๋ํ 30 ์ผ 12์์ Delarosa, 37 Yerba Buena์์ ์ ์ฌ ์์ฌ๋ฅผ ์ฃผ์ตํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ @ ah3rz ๋ฅผ ํํ์ญ์์ค.
@ppadala ์ ๋ Build์ ์์ง ์์ง๋ง ์ ๋งค๋์ @ taylorb-microsoft๊ฐ ๋ ๊ฒ์ด๋ฏ๋ก ๊ทธ์ ๋๊ธฐํ ํ ์ ์์ต๋๋ค. :-)
@ppadala ๊ทํ๊ฐ ์ฐจ๋จ ํด์ ๋์๋ค๊ณ ์ธ๊ธ ํ์ จ์ต๋๋ค. ์ ํฌ๊ฐ ๋์ ๋๋ฆด ์์๋ ์ผ์ด ์๋์ง ์๋ ค์ฃผ์ธ์.
์ต์ ์ ๋ณด. ๋๋ถ๋ถ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋กํ๊ณ ์์ผ๋ฉฐ Windows ์๋ฒ๋ฅผ ๊ฐ๋ ํ ์ ์์ต๋๋ค. ๋ฉฐ์น ์์ ํ์ ์ํด ์ ์ถํ ์ฝ๋๋ฅผ ์ ๋ฆฌํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋์ VM ์ด๋ฏธ์ง๋ก ์ฌ์ฉํ Windows ์๋ฒ ์ด๋ฏธ์ง๋ฅผ ๊ฒฐ์ ํด์ผํฉ๋๋ค. ํ์ฌ ๊ณต์ Windows Server Core ์ด๋ฏธ์ง์๋ RDP ๋ง ํ์ฑํ๋์ด ์์ต๋๋ค. ์ด๋ฏธ์ง์์ WinRM์ ํ์ฑํํด์ผํฉ๋๋ค. ์ด๊ฒ์ ์์์ ์ฌ๋๋ค์ด ์ ์ํ ๊ฒ์ฒ๋ผ Azure (https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx)๋ฅผ ํตํด WinRM์ ํ์ฑํํ๋ ๊ฒ์ด ์๋๋๋ค. ๊ทธ๋ฌ๋ฉด Azure์์ WinRM ํฌํธ๋ง ์ด๋ฆฝ๋๋ค. ์คํ์ค์ธ ์ด๋ฏธ์ง ์ธ์คํด์ค (๋์ค์ sysprep์ ํตํด ์ ์ด๋ฏธ์ง๋ก ์บก์ฒ ๋จ)๋ ๋ค์ ๋ช ๋ น์ ์คํํด์ผํฉ๋๋ค.
PS C:\> winrm set winrm/config/service/auth @{Basic=โtrueโ}
PS C:\> winrm set winrm/config/service @{Allowunencrypted=โtrueโ}
PS C:\> New-NetFirewallRule -Protocol TCP -LocalPort 5985 -Direction Inbound -Action Allow -DisplayName winrm
PS C:\> winrm quickconfig
๋ ๋ค๋ฅธ ์ฃผ๋ฆ์ Docker ์์ง ์ค์น๊ฐ Linux์ชฝ์ ์ค์นํ๋ ๊ฒ๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ ๋๋ค. VM๋ ์ฌ๋ถํ ํด์ผํฉ๋๋ค. ๋์ปค ์์ง ์ค์น๋ฅผ ์ํด ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
PS C:\> wget -uri https://aka.ms/tp4/Install-ContainerHost -OutFile C:\Install-ContainerHost.ps1
PS C:\> powershell.exe -NoProfile C:\Install-ContainerHost.ps1 -HyperV
Reboot
PS C:\> Install-ContainerImage -Name WindowsServerCore -Version 10.0.10586.0
PS C:\> wget https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/live/windows-server-container-tools/Update-ContainerHost/Update-ContainerHost.ps1 -OutFile Update-ContainerHost.ps1
PS C:\> ./Update-ContainerHost.ps1
@ enderb-ms ๋ฐ @ahmetalpbalkan์ ๋ํ ์ง๋ฌธ : Microsoft์์ WinRM์ด ํ์ฑํ ๋ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณต ํ ์ ์์ต๋๊น? ๊ทธ๋ ๊ฒํ๋ ๋์ ์จ ๋๋งจ๋ ์ค์น ๋์ docker-engine์ ๋ฒ๋ค๋งํ๋ ๊ฒ์ ๊ณ ๋ คํด์ผํฉ๋๊น? ์ด๋ก ์ธํด ์ฌ์ฉ์๊ฐ ํน์ ๋ฒ๋ค ๋ฒ์ ์ docker-engine์ผ๋ก ์ ํ๋์ง๋ง VM์ ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค (๊ทธ๋ ์ง ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ docker-machine์ ์คํํ๊ณ Windows Server Docker ํธ์คํธ๋ฅผ ์ป๊ธฐ ์ํด 1 ์๊ฐ ์ด์์ ๊ธฐ๋ค๋ฆฝ๋๋ค.).
ํ์ฌ WinRM๊ณผ ๋์ปค ์์ง์ด ๋ชจ๋ ์ค์น ๋ฐ ๊ตฌ์ฑ๋ ์ฌ์ฉ์ ์ง์ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์์ต๋๋ค.
@ppadala ๋ ์ด๋์๋ ๊ณต๊ฐ๋๋ ์ง์ ์ ๋๊น? VM์ ์์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ๊ธฐ์ฒ๋ผ ์ด๊ธฐํ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๊น? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183
@ppadala ๋ ์ด๋์๋ ๊ณต๊ฐ๋๋ ์ง์ ์ ๋๊น? VM์ ์์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ๊ธฐ์ฒ๋ผ ์ด๊ธฐํ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๊น? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183
๋ธ๋์น๋ ๊ณต๊ฐ๋์ด ์์ง๋ง ์์ง ์ต์ ๋ฒ์ ์ ํ์ธํ์ง ์์์ต๋๋ค. ๋ด๊ฐ ํ ์ ์๋์ง ๋ณด์.
@ppadala ๋ ์ด๋์๋ ๊ณต๊ฐ๋๋ ์ง์ ์ ๋๊น? VM์ ์์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ๊ธฐ์ฒ๋ผ ์ด๊ธฐํ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ์ ์์ต๋๊น? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183
๋ฆฌ์์ค ์ ๋ฌ์ ์๋ํ์ง๋ง ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Error creating machine: Error in driver during machine creation: compute/VirtualMachinesClient:CreateOrUpdate 400 Failure responding to request -- Original Error: azure: Service returned an error. Code="InvalidRequestContent" Message="The request content was invalid and could not be deserialized: 'Could not find member 'resources' on object of type 'ResourceDefinition'. Path 'resources', line 1, position 953.'." Status=400
์ด๋ฅผ ์๋ํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://github.com/ppadala/machine/blob/azure-windows/drivers/azure/azureutil/azureutil.go#L540. ์ปค๋ฐ https://github.com/ppadala/machine/commits/azure-windows ์์ Windows ์ง์์ ๋ฐ๊ธฐ์ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณผ ์ ์์ต๋๋ค.
์ด๋ฅผ ์ํํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ Azure go-sdk๊ฐ์ด ๋ฐฐํฌ ํ ํ๋ฆฟ์ ์ค๋นํ๊ธฐ ์ํด ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๊ธฐ๋ฅ์ ๋ ธ์ถํ๋๋กํ๋ ๊ฒ์ ๋๋ค. json ๋ฐฐํฌ ํ ํ๋ฆฟ์ ์ดํด๋ณด๋ฉด์ ์ ๋ฌํ ์ฌ๋ฐ๋ฅธ ๋ด์ฉ์ ๋ฒ์ญํ๋ ๊ฒ์ ์ด๋ ต์ต๋๋ค. @ahmetalpbalkan , ์ด๋ค ์๊ฐ?
๊ธฐ๋ณธ์ ์ผ๋ก ๋ ๊ฐ์ง ๊ฒฝ๋ก๊ฐ ์์ต๋๋ค.
@ppadala ๋๋ ์์ํดํฉ๋๋ค. API๊ฐ VM ๋ง๋ค๊ธฐ ํธ์ถ์ ํ์ฅ์ ์ง์ ํ ์ ์๋ค๊ณ ๋งํ๋ ค๊ณ ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํ์ฅ์ด ํฌํจ ๋ ARM ํ ํ๋ฆฟ์ ๋ฐฐํฌํ๊ณ ๋ฐฐํฌ๊ฐ ์งํ๋๋ ๊ฒ์ ์ง์ผ ๋ณผ ๋ ARM์ ๋จผ์ VM์ ๋ง๋ ๋ค์ VM์ด ์์ฑ๋๋ฉด ๋ณ๋๋ก ํ์ฅ ๋ฆฌ์์ค๋ฅผ ๋ง๋ญ๋๋ค.
arm/compute
ํจํค์ง์ VM์ ํ์ฅ์ ์ถ๊ฐํ๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ด์ผํฉ๋๋ค. VM์ด ์์ฑ๋๋ฉด ํ์ฅ์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@ahmetalpbalkan ๊ฐ์ฌํฉ๋๋ค. VM ์์ฑ ํ VirtualMachineExtension์ ์ถ๊ฐํ๊ณ ์๋ํ์ต๋๋ค. WinRM HTTPS ๋ฆฌ์ค๋๋ฅผ ์ค์ ํ๋ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ ์์ ๋ด๊ธฐ ์ํด ์ฝ๊ฐ์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ฌ์ผํ์ง๋ง ํ ์์ฒญ # 3329๊ฐ ์ค๋น๋์์ต๋๋ค. ๊ทํ์ ์๊ฒฌ์ ์๋ ค์ฃผ์ญ์์ค.
๋ํ ์ฝ๊ฒ ํ ์คํธ ํ ์ ์๋๋ก https://www.dropbox.com/sh/kpc46xtc8su2sj7/AABtxVIVbGo8KLy7tu6HnWwza?dl=0 ์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ ๋ก๋ํ์ต๋๋ค.
์ฌ์ฉ๋ฒ : Azure ๋๋ผ์ด๋ฒ์ ์ธ ๊ฐ์ง ์๋ก์ด ๋งค๊ฐ ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
--azure-os "linux" OS for the Azure VM (Windows|Linux)
--azure-winrm-user "docker-user" Username for WinRM login [$AZURE_WINRM_USER]
--azure-winrm-password Password for WinRM login [$AZURE_WINRM_PASSWORD]
์ํ ๋ช ๋ น
docker-machine -D create -d azure --azure-subscription-id $(cat ~/azure/subid) --azure-os "windows" --azure-image MicrosoftWindowsServer:WindowsServer:2016-Technical-Preview-with-Containers:2016.0.20151118 --azure-winrm-password "mysecretpassword" vhost-win-test
@ppadala @ahmetalpbalkan ์ด๋ฏธ ์ด๊ฒ์ ํตํฉํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง Windows ๋ฐ๋ชฌ ๋ณด์์ ๋ํ์ด ๊ธฐ์ฌ๋ ์ข์ ์ ์์ต๋๋ค : https://github.com/Microsoft/Virtualization-Documentation/tree/master/windows-server- ์ปจํ ์ด๋ ๋๊ตฌ / DockerTLS
/ cc @PatrickLang @swernli
@ppadala ๊ฐ์ฌํฉ๋๋ค, ์ด๊ฒ์ ์์ ํ ๊ต์ฅํฉ๋๋ค. Azure์์ TP4 ์ปดํจํฐ๋ฅผ ๋ง๋๋ ์ํ ๋ช ๋ น์ ๋ฐฉ๊ธ ์๋ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์, ๋ฏธ๋ฆฌ ๋น๋ ๋ ๋ฐ์ด๋๋ฆฌ์ ํจ๊ป ์ฆ์ ์๋ํ์ต๋๋ค. (OK, Windows ์ํธ ๋ณต์ก์ฑ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ๋ ๋ณต์กํ ์ํธ๋ฅผ ์ ๋ ฅํด์ผํฉ๋๋ค)
์ด๋ฌํ ๊ฐ๋จํ docker-machine ๋ช ๋ น์ ์ฌ์ฉํ๋ ๋ณด์ ๋ Docker Engine. ๊ทธ๊ฒ์ ํฐ ๋ํ๊ตฌ์ ๋๋ค!
$ ./docker-machine-Darwin-x86_64 -D create -d azure --azure-subscription-id $(pass azure) --azure-os "windows" --azure-image MicrosoftWindowsServer:WindowsServer:2016-Technical-Preview-with-Containers:2016.0.20151118 --azure-winrm-password $(pass azure-winrm-password) vhost-win-test
$ eval $(./docker-machine-Darwin-x86_64 env vhost-win-test)
$ docker version
Client:
Version: 1.10.1
API version: 1.22
Go version: go1.5.3
Git commit: 9e83765
Built: Fri Feb 12 22:11:40 UTC 2016
OS/Arch: darwin/amd64
Server:
Version: 1.10.0-dev
API version: 1.22
Go version: go1.5.1
Git commit: 59a341e
Built: Fri Nov 13 17:23:07 UTC 2015
OS/Arch: windows/amd64
@ppadala ๊ทธ๋ฆฌ๊ณ ํจ์ฌ ๋ ํ์์ ์ธ ์ ์ docker-machine rm -f vhost-win-test
๋ชจ๋ ๊ฒ์ ์ ๋ฆฌํ๋ค๋ ๊ฒ์
๋๋ค. "deploy to azure"๋ก ์์ฑ ๋ VM์ ๋ชจ๋ ๋ถ๋ถ์ ์ ๋ฆฌํ๋ ๋ฐ ๋๋ฌด ๋ง์ ์๊ฐ์ ๋ณด๋๊ณ ํญ์ "deploy from azure"๋ฒํผ์ ๋์ณค์ต๋๋ค. ๐
@ppadala @ahmetalpbalkan ์ด๋ฏธ ์ด๊ฒ์ ํตํฉํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง Windows ๋ฐ๋ชฌ ๋ณด์์ ๋ํ์ด ๊ธฐ์ฌ๋ ์ข์ ์ ์์ต๋๋ค : https://github.com/Microsoft/Virtualization-Documentation/tree/master/windows-server- ์ปจํ ์ด๋ ๋๊ตฌ / DockerTLS
@friism ๋งํฌ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์, docker-engine์ ์ด๋ฏธ Linux์ ์ ์ฌํ TLS๋ก ๋ณดํธ๋ฉ๋๋ค. docker-machine create ์ํฌ ํ๋ก์ฐ๋ ์๊ฒฉ ์ฆ๋ช (cert, key ๋ฐ ca)์ ์์ฑํ๊ณ WinRM์ ์ฌ์ฉํ์ฌ Windows Server์ ์ ๋ก๋ํฉ๋๋ค.
@ppadala ๊ฐ์ฌํฉ๋๋ค, ์ด๊ฒ์ ์์ ํ ๊ต์ฅํฉ๋๋ค. Azure์์ TP4 ์ปดํจํฐ๋ฅผ ๋ง๋๋ ์ํ ๋ช ๋ น์ ๋ฐฉ๊ธ ์๋ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์, ๋ฏธ๋ฆฌ ๋น๋ ๋ ๋ฐ์ด๋๋ฆฌ์ ํจ๊ป ์ฆ์ ์๋ํ์ต๋๋ค. (OK, Windows ์ํธ ๋ณต์ก์ฑ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ๋ ๋ณต์กํ ์ํธ๋ฅผ ์ ๋ ฅํด์ผํฉ๋๋ค)
@StefanScherer๋ฅผ ์ฌ์ฉํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ผ๋ฐ ํ ์คํธ ์ํธ๋ ๋ด๊ฐ ์ฌ๊ธฐ์ ์ซ์ดํ๋ ์ ์ผํ ๋ถ๋ถ์ ๋๋ค (ํจ์ค ๋ฐฉ์์ด ๋ง์์ ๋ญ๋๋ค). ๋์ค์ ์ธ์ฆ์ ๊ธฐ๋ฐ ์ธ์ฆ์ผ๋ก ์ ํ ํ ์ ์์ต๋๋ค. ์ํ๊น๊ฒ๋ ํจ์ปค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์์ง ์ง์ํ์ง ์์ต๋๋ค.
@ppadala ๊ทธ๋ฆฌ๊ณ ํจ์ฌ ๋ ํ์์ ์ธ ์ ์ docker-machine rm -f vhost-win-test๊ฐ ๋ชจ๋ ๊ฒ์ ์ ๋ฆฌํ๋ค๋ ๊ฒ์ ๋๋ค. "deploy to azure"๋ก ๋ง๋ VM์ ๋ชจ๋ ๋ถ๋ถ์ ์ ๋ฆฌํ๋ ๋ฐ ๋๋ฌด ๋ง์ ์๊ฐ์ ๋ณด๋์ง ๋ง ํญ์ " ํ๋์์์ ๋ฐฐํฌ ์ทจ์ "๋ฒํผ ๐
Azure ARM์ผ๋ก ์ด๋ํ๊ณ ๊นจ๋ํ "์ ๋ฆฌ"๋ฅผ ์์ฑํ๋ ๋ฐ ๋ํ ํฌ๋ ๋ง์
@ppadala ์ด๊ฒ์ ๋๋์ต๋๋ค. ํ๋ฅญํ ์ผ! ์ด์ ์ง๋ฌธ์ ์ด๊ฒ์ ์งง์ azure ๋๋ผ์ด๋ฒ์ ์ฅ๊ธฐ์ ์ผ๋ก ๋ค๋ฅธ ๋๋ผ์ด๋ฒ (์ : google / aws)์ ๋ณํฉํ๋ ๋ฐฉ๋ฒ ์ผ ๊ฒ์ ๋๋ค.
@ahmetalpbalkan ํ ์์ฒญ # 3329๋ ์ด๋ฏธ ๋ง์คํฐ์ ๋๊ธฐํ๋์ด ์๊ณ azure ๋๋ผ์ด๋ฒ์ ๋ณํฉ๋์์ต๋๋ค. ๊ฒํ ํ๊ณ ์๊ฒฌ์ ์ ๊ณต ํ ์ ์๋ค๋ฉด ์ ์ฉ ํ ๊ฒ์ ๋๋ค. ํ์ฌ Azure์๋ง Windows ์๋ฒ 2016 VM์ด ์์ง๋ง ์ฝ๋๋ GCP, AWS, vSphere ๋ฐ ๊ธฐํ๋ฅผ ์ฝ๊ฒ ์ง์ํ๋ ๋ฐฉ์์ผ๋ก ์์ฑ๋ฉ๋๋ค.
ํ์ฌ Azure์๋ง Windows ์๋ฒ 2016 VM์ด ์์ง๋ง ์ฝ๋๋ GCP, AWS, vSphere ๋ฐ ๊ธฐํ๋ฅผ ์ฝ๊ฒ ์ง์ํ๋ ๋ฐฉ์์ผ๋ก ์์ฑ๋ฉ๋๋ค.
- ๋ฟก๋ฟก
์ด๊ฒ์ ๋ก์ปฌ VM ๊ณต๊ธ์ ์ง์์ด ๊ณง ์์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๊น?
@ppadala @srounce ์ ๋ ๋๊ตฐ๊ฐ๊ฐ AWS / GCE / others API์ WinRM ๋ฐ ์์ ์คํฌ๋ฆฝํธ ์คํ ๊ธฐ๋ฅ์ ์ดํด๋ณด๊ณ ์ต์ํ์ ๋ณ๊ฒฝ๋ง์ผ๋ก ๊ธฐ๋ฅ์ ๋ค๋ฅธ ๋๋ผ์ด๋ฒ๋ก ์ด์ ํ ์ ์๋์ง ํ์ธํด์ผํ๋ค๊ณ ๋งํ๊ณ ์ถ์ต๋๋ค.
@ppadala @ahmetalpbalkan Docker -machine 'azure'๋๋ผ์ด๋ฒ๋ฅผ AzureStack ๊ณผ ํจ๊ป
@nilleb ๋๋ ์์ง ๋๋ ค์ํ์ง ์์ต๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋ณ๋์ ๋ฌธ์ ๋ฅผ์ฌ์ญ์์ค.
๋ฐฉ๊ธ 0.8.0-rc1์ด์๋ 1.12 RC2๊ฐ์๋ Windows ์ฉ ๋์ปค๋ฅผ ๋ค์ด๋ก๋ํ์ง๋ง "azure-os" "windows"์ต์ ์ ์๋ํ๋ฉด ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Azure์์ TP5 Windows 2016 ๋์ปค ํธ์คํธ๋ฅผ ๋ง๋ค ์์๋ ๋์ปค ๋จธ์ ๋ฒ์ ์ ์ด๋์ ์ป์ ์ ์๋์ง ์๋ ค์ฃผ์ธ์.
๊ฐ์ฌ,
@SharadGumaste "์๋ํ์ง ์์ต๋๋ค"๋ผ๊ณ ๋งํ ๋ ์ค๋ฅ๊ฐ ๋ฌด์์
๋๊น? --azure-image
์ด๋ฏธ์ง๋ฅผ ์ง์ ํด ๋ณด์
จ์ต๋๊น?
๋ฐฉ๊ธ 0.8.0-rc1์ด์๋ 1.12 RC2๊ฐ์๋ Windows ์ฉ ๋์ปค๋ฅผ ๋ค์ด๋ก๋ํ์ง๋ง "azure-os" "windows"์ต์ ์ ์๋ํ๋ฉด ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. Azure์์ TP5 Windows 2016 ๋์ปค ํธ์คํธ๋ฅผ ๋ง๋ค ์์๋ ๋์ปค ๋จธ์ ๋ฒ์ ์ ์ด๋์ ์ป์ ์ ์๋์ง ์๋ ค์ฃผ์ธ์.
@SharadGumaste ๋๋ ๋น์ ์ด ์ถ์ ๋ ๋ฒ์ ์ ์๋ํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. Windows ์ง์์ฉ ํจ์น (azure-os windows ์ต์ )๋ ์์ง ๋ณํฉ๋์ง ์์์ต๋๋ค.
Pradeep, ์, ๋์ปค ์ํํธ์จ์ด์์ ์
๋ฐ์ดํธํ์ต๋๋ค. ์ต๊ณ ๋ ๋ฌด์์
๋๊น
์์
๋ฐ์ด๋๋ฆฌ๋ฅผ ์ป๋ ๋ฐฉ๋ฒ? ๋๋ ๋ฐ๋ชจ๋ฅผํ๊ธฐ์ ๋งค์ฐ ๊ฐ๊น์ต๋๋ค.
๋ฒ ์ด ๋ณธ Windows ์๋ฒ๋ฅผ ๋ง๋ค๊ณ ์ค์นํ ์ ์๋ค๋ ์ ์ ์ ์ธํ๋ฉด ํด๋ผ์ด์ธํธ์
๋์ปค ํธ์คํธ ๊ด๋ จ ํญ๋ชฉ์ ์ฒ์๋ถํฐ ์์ํ๊ณ ํด๋น ์ปดํจํฐ๋ฅผ
docker-machine ๋ฐ Visual Studio์์ ๋น๋ ๋ฐ ๋ฐฐํฌํฉ๋๋ค.
TLS ์ธ์ฆ์ ๋ฑ์ ๋ถ์ด ์์ต๋๋ค.
๋์์ ์ฃผ์ ์ ๋ฏธ๋ฆฌ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
2016 ๋ 6 ์ 23 ์ผ ๋ชฉ์์ผ์ Pradeep Padala [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ฐฉ๊ธ 1.12 RC2๊ฐ์๋ Windows ์ฉ ๋์ปค๋ฅผ ๋ค์ด๋ก๋ํ์ต๋๋ค.
0.8.0-rc1์ด ์์ง๋ง "azure-os" "windows"์ต์ ์ ์ฌ์ฉํ๋ฉด
์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋์ปค ๋จธ์ ์ ์ด๋์ ๊ตฌํ ์ ์๋์ง ์๋ ค์ฃผ์ธ์
Azure์์ TP5 Windows 2016 Docker ํธ์คํธ๋ฅผ ๋ง๋ค ์์๋ ๋ฒ์ ์ ๋๋ค.@SharadGumaste https://github.com/SharadGumaste ๋๋ ๋น์ ์ด
์ถ์ ๋ ๋ฒ์ ์ ์ฌ์ฉํด๋ณด์ธ์. Windows ์ง์์ฉ ํจ์น (azure-os
windows ์ต์ )์ ์์ง ๋ณํฉ๋์ง ์์์ต๋๋ค.โ
๋น์ ์ด ์ธ๊ธ ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/docker/machine/issues/2907#issuecomment -228218888,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe/AH3YqqQLlXWUnSdw4i2TzsqXa4gHmTVYks5qOxt1gaJpZM4HKwbT
.
"A common mistake people make when trying to design something
์์ ํ ๋ฐ๋ณด์ ๋ ์ฐฝ์ฑ์ ๊ณผ์ ํ๊ฐํ๋ ๊ฒ์ ๋๋ค. "
โ Douglas Adams, author (1952 โ 2001)
@SharadGumaste ๋ ์์ต๋๊น? Windows ์ฉ docker-machine์ ๋ํ ๋ณ๋์ ์ ์ฅ์๊ฐ ์์ต๋๋ค. ์ค์ ์ ๋ํ ์ง์นจ์ ๋ณด๋ด๋๋ฆด ์ ์์ต๋๋ค.
๋ก์ปฌ VirtualBox์์ Windows Docker ํธ์คํธ ํ์ ์ ๊ดํ ๋ด์ค๊ฐ ์์ต๋๊น?
๋๊ตฌ๋ ์ง Azure์์ Windows VM์ ๊ตฌ๋ ํ ์์๋ ํ๋กํ ํ์ ์ด ์์ต๋๊น?
@djanosik ์ ๋ docker-machine์ด ๋ด GitLab CI ๋น๋๋ฅผ ์ํด Windows OpenStack ๋ฐ EC2 ์ธ์คํด์ค๋ฅผ ์๋ ํ์ฅํ๋๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. @ppadala ์ PR ๋ธ๋์น๋ฅผ ๊ฐ์ ธ https://github.com/davidarcher/machine/tree/azure_winrm์ ์์ต๋๋ค.
@ jen20 ์ ์ง์นจ์ ๋ฐ๋ผ SSH๋ก Windows AMI๋ฅผ ๋น๋ํ์ต๋๋ค. /etc/os-release
ํ์ผ์ด ์๊ธฐ ๋๋ฌธ์ ์คํจํ๋ ํ๋ก๋น์ ๋ ์์ ๊น์ง Docker Machine๊ณผ ํจ๊ป ์๋ํฉ๋๋ค. Windows์์ SSH๋ฅผ ์ฌ์ฉํ ์์๊ฒ๋์์ผ๋ฏ๋ก (์ฝ๊ฐ์ ๋
ธ๋ ฅ์ผ๋ก) Windows ์ฉ SSH ๊ธฐ๋ฐ Docker Machine ํ๋ก๋น์ ๋ ๋๊ตฌ๋ฅผ ์ป์ ์ ์์ต๋๊น?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@ jen20 ์ ์ง์นจ์ ๋ฐ๋ผ SSH๋ก Windows AMI๋ฅผ ๋น๋ํ์ต๋๋ค.
/etc/os-release
ํ์ผ์ด ์๊ธฐ ๋๋ฌธ์ ์คํจํ๋ ํ๋ก๋น์ ๋ ์์ ๊น์ง Docker Machine๊ณผ ํจ๊ป ์๋ํฉ๋๋ค. Windows์์ SSH๋ฅผ ์ฌ์ฉํ ์์๊ฒ๋์์ผ๋ฏ๋ก (์ฝ๊ฐ์ ๋ ธ๋ ฅ์ผ๋ก) Windows ์ฉ SSH ๊ธฐ๋ฐ Docker Machine ํ๋ก๋น์ ๋ ๋๊ตฌ๋ฅผ ์ป์ ์ ์์ต๋๊น?