์ผ๋ฐ์ ์ผ๋ก ํ์ฌ์ ๋ฃจํธ CA ์ธ์ฆ์๋ IT๊ฐ ๊ฐ๋ฐ์ ์ปดํจํฐ ๋ฐ ์๋ฒ์ ์ค์นํฉ๋๋ค(OS์ ํจ๊ป ์ ๊ณต๋์ง ์์). ๋ก์ปฌ VM(virtualbox)๊ณผ ํจ๊ป ๋์ปค ๋จธ์ ์ ์ฌ์ฉํ ๋ ํ์ฌ ๋คํธ์ํฌ์์ ํธ์คํ ๋๋ ๋์ปค ๋ ์ง์คํธ๋ฆฌ์ ํต์ ํ๊ธฐ ์ํด VM์ ํ์ฌ ๋ฃจํธ CA ์ธ์ฆ์๋ฅผ ์ค์นํด์ผ ํฉ๋๊น?
๋ด ๋ก์ปฌ VM์ CA ์ธ์ฆ์๋ฅผ ์ค์นํ๋ ๋ฐ ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ด ๋ฌด์์ธ์ง ๊ถ๊ธํฉ๋๋ค. ์ฌ๊ธฐ ์์ ๋๋ต์ ์์์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ค๋๋ ฅ์๋/์ ์ ํ ๊ฒ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๊ฒฌ๊ธฐ์ CA๊ฐ ์๋ค๋ฉด ์ด๋ค ๋ฐฉ๋ฒ์ ๊ถ์ฅํ๋์? ๋ชจ๋ ์ธ์ฆ์๋ฅผ ๋ฌถ์ผ์ญ๋๊น?
์ด๊ฒ๋ ์๊ณ ์ถ์ต๋๋ค. ์ ์ฐจ(https://docs.docker.com/articles/https/)์ ๋ฐ๋ผ ์ CA์ ์ธ์ฆ์๋ฅผ ๋ง๋ค์์ต๋๋ค. /var/lib/boot2docker ๋ฐ /var/lib/boot2docker/tls ํ์ผ์ ๋ฃ์ผ๋ ค๊ณ ํ์ง๋ง /etc/init.d/docker ์์ ์คํฌ๋ฆฝํธ๊ฐ ๋ด๊ฐ ์์ฑํ ์ธ์ฆ์๋ฅผ ๋ฎ์ด์ฐ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์กฐ๊ธ ๋ ์กฐ์ฌํ๊ณ docker-machine์ด ์์ฑํ๋ ์ธ์ฆ์๋ก ํธ์คํธ .docker/machines/machine/default์ ๋ชจ๋ ํญ๋ชฉ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ๋ํ /var/lib/boot2docker์ ์๋ boot2docker VM์ ํ์ผ์ ๊ต์ฒดํฉ๋๋ค. vm์ ๋ก๊ทธ์ธํ๊ณ ํ์ผ์ ๊ต์ฒดํ๊ณ /var/lib/boot2docker/profile์ ์ ๋ฐ์ดํธํ ์ ์์ง๋ง ์ด๊ฒ์ ์์ ์์๋ ๊ต์ฒด๋ฉ๋๋ค(๋ฌด์์ธ์ง ํ์คํ์ง ์์ง๋ง ์๋ง๋ 'docker-machine env default'๋ก).
@oobles --tls-ca-cert
, --tls-cert
๋ฐ --tls-key
์ต์
์ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ์ธ์ฆ์๋ฅผ ์ง์ ํ ์ ์์ด์ผ ํฉ๋๋ค.
docker-machine --tls-ca-cert=my_company_ca.pem create --driver virtualbox vm
๋ฅผ ์ฌ์ฉํ ๋ ๋ช
๋ น์ ๋ค์๊ณผ ๊ฐ์ด ์คํจํฉ๋๋ค.
Error creating machine: error generating server cert: crypto/tls: private key does not match public key
์ฌ๊ธฐ์ ์์ ์ (๋๋ถ๋ถ์ ํ์ฌ์์ ์ถ์ธก) ์ ๋ ํ์ฌ CA๋ฅผ ๊ด๋ฆฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ธ ํค๋ฅผ ์์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ --tls-ca-key
์ต์
์ ์ค ์ ์์ต๋๋ค.
๋ด๊ฐ ์ฌ๊ธฐ์ ๋ฌด์์ ๋์น๊ณ ์์ต๋๊น? ์ด๋ฌํ ์ต์ ์ ์์ ์ CA๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ฒด ์ธ์ฆ์์ ์๋ช ํ๋ ์ฌ๋๋ค์๊ฒ๋ง ์ ์ฉํฉ๋๊น?
๋ด VM์ ์๋ ๋์ปค ํด๋ผ์ด์ธํธ๊ฐ ํ์ฌ CA์์ ์๋ช
ํ ์ธ์ฆ์๋ฅผ ๋ณด์ฌ์ฃผ๋ ํ์ฌ ๋ ์ง์คํธ๋ฆฌ์ docker login
์ด๊ธฐ๋ฅผ ์ํฉ๋๋ค.
๋์์ด ๋์ จ๋์?
๊ฐ์ ๋ฌธ์ ๊ฐ ์ฌ๊ธฐ์ ๊ฐ์ ์ฌํญ์ด ์์ต๋๊น?
+1. ์ฐ๋ฆฌ ์กฐ์ง์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ด๊ฐ ์ํฉ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ ์ง์คํธ๋ฆฌ ์๋ฒ์์:
๋์ปค ๋จธ์ ์์:
https ์ฐ๊ฒฐ์์ ๋ค์ด๋ก๋ํ ๋ ๋ด ์ปจํ
์ด๋ ๋น๋๊ฐ unable to find valid certification
๋๋ฌํ์ต๋๋ค. ์ฐ๋ฆฌ ํ์ฌ๋ ์ค๊ฐ ZScaler CA ๋ฃจํธ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๊ณ ๋ํ PAC ํ์ผ์ ์ฌ์ฉํ์ฌ ํ๋ก์๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค.
์ด๊ฒ์ +1. ๊ธฐ์กด CA(์ธ์ฆ์ ๋ฐ ํค) ๋ฐ ํด๋ผ์ด์ธํธ ์ธ์ฆ์(์ธ์ฆ์ ๋ฐ ํค)๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค๋ฉด docker-machine์ ์ฌ์ฉํ์ฌ ์ธ์ฆ์๋ฅผ docker ์์ง์ ๋ฐฐํฌํ ๋ ๊ธฐ์กด TLS ์ธํ๋ผ๋ฅผ ์ค์ ๋ก ์ฌ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
docker-machine create -d ... \
--tls-ca-cert cacert.pem \
--tls-ca-key cacert.key \
--tls-client-cert local_user.pem \
--tls-client-key local_user.key \
--tls-server-cert server.pem \
--tls-server-key server.key
Error creating machine: Error running provisioning: error generating server cert: crypto/tls: failed to parse private key
cacert.key
๊ฐ ์ํธ๋ก ๋ณดํธ๋์ด ์๊ธฐ ๋๋ฌธ์
+1
๐ , ์ด๊ฒ์ ์ฐ๋ฆฌ์๊ฒ ์ฃผ์ ์ฐจ๋จ๊ธฐ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฐ๋ฆฌ ๊ธฐ์ IT ์กฐ์ง์ ๊ธฐ์ ๋ฐฉํ๋ฒฝ ๋ด๋ถ์์ ๊ณต์ฉ ์ธํฐ๋ท์ผ๋ก ์ด๋ํ๋ ๋ชจ๋ ์์ฒญ์ โโ์ฌ์ฉ์ ์ง์ HTTPS ์ธ์ฆ์๋ฅผ ์ ์ฉํ๋ฏ๋ก ์ด๋ฌํ ์ธ์ฆ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑํ ์ ์์ผ๋ฉด ์ปจํ ์ด๋์ฉ ๋์ปค ํ๋ธ์๋ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์๋ฌด๋ ์ด๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์์ง ์ฐพ์์ต๋๊น? ์ฐ๋ฆฌ ๊ธฐ์ IT๋ ๋ชจ๋ HTTPS ์ธ์ฆ์๋ฅผ ๋์ฒดํ๊ธฐ ์ํด MitM์ ์ํํฉ๋๋ค.
๋ด๊ฐ ์๋ํ์ ๋ ...
docker-machine --tls-ca-cert root.cer create --driver virtualbox default
๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
Error creating machine: Error running provisioning: error generating server cert: crypto/tls: private key does not match public key
๋๋ ๊ธฐ๊ณ ์์ฑ ์ tls ์ธ์ฆ์๋ฅผ ๊ฑด๋๋ฐ์์ต๋๋ค. ์ผ๋จ ์์ฑ
๊ธฐ๊ณ:
docker-machine scp ์ธ์ฆ์ ํ์ผ ๊ธฐ๋ณธ๊ฐ:ca.crt
๋์ปค ๋จธ์ ssh ๊ธฐ๋ณธ๊ฐ
sudo mv ~/ca.crt /etc/docker/certs.d/docker.io/ca.crt
๊ทธ๋ฌ๋ฉด ์๋ํด์ผ ํฉ๋๋ค. mv ์์ ํ์ ๋๋ ํ ๋ฆฌ๋ฅผ mkdirํด์ผ ํ ์๋ ์์ต๋๋ค.
๋ช
๋ น. ํ์ํ ๊ฒฝ์ฐ ๋ด๋ถ ๋ ์ง์คํธ๋ฆฌ ํธ์คํธ๋ฅผ docker.io๋ก ๋์ฒดํ์ญ์์ค.
2016๋ 8์ 11์ผ ๋ชฉ์์ผ์ Andy Ruestow [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๋ฌด๋ ์ด๊ฒ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์์ง ์ฐพ์์ต๋๊น? ์ฐ๋ฆฌ ๊ธฐ์ IT๋ MitM์ ์ํํ์ฌ
๋ชจ๋ HTTPS ์ธ์ฆ์๋ฅผ ๊ต์ฒดํ์ญ์์ค.๋ด๊ฐ ์๋ํ์ ๋ ...
docker-machine --tls-ca-cert root.cer ์์ฑ --driver virtualbox ๊ธฐ๋ณธ๊ฐ
๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.๋จธ์ ์์ฑ ์ค ์ค๋ฅ ๋ฐ์: ํ๋ก๋น์ ๋ ์คํ ์ค ์ค๋ฅ ๋ฐ์: ์์ฑ ์ค ์ค๋ฅ ๋ฐ์
์๋ฒ ์ธ์ฆ์: crypto/tls: ๊ฐ์ธ ํค๊ฐ ๊ณต๊ฐ ํค์ ์ผ์นํ์ง ์์ต๋๋ค.โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/docker/machine/issues/1799#issuecomment -239175647,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAJD9p1tfX97V_OW4DgJkzxP86URi-C5ks5qezAsgaJpZM4F3GTM
.
+ 1 GE๋ Zscaler๋ฅผ ์ฌ์ฉํ๊ณ MitM ์ธ์ฆ์ ๋งน๊ธ๋ง์ ์ํํ๊ณ ์์ผ๋ฉฐ ํ์ฌ ๋ชจ๋ ๊ฐ๋ฐ์ ์ปดํจํฐ์์ docker๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+1, ์ด๊ฒ๋ ์ง๊ธ ํด๊ฒฐํ๋ ค๊ณ ํฉ๋๋ค.
+1, ๊ธฐ์ ํ๊ฒฝ์์๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํฉ๋๋ค.
+1 ๊ธฐ์ ํ๊ฒฝ๋ ํ๋ก์๊ฐ MitM ์ธ์ฆ์ ๋งน๊ธ๋ง์ ์ํํฉ๋๋ค. ์ธ์ฆ์๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
์ด๊ฒ์ ๋ง์ ํ๊ณ ๊ฐ ๋ค์๊ณ ํด๊ฒฐ์ฑ ์ ๋นํฉ์ค๋ฌ์ธ ์ ๋๋ก ๊ฐ๋จํฉ๋๋ค(๊ทธ๋ฌ๋ ๋ถ๋ช ํ์ง๋ ์์ต๋๋ค). ๊ทธ๋ฆฌ๊ณ ๋ช ๊ฐ์ง ์ฃผ์ํ ์ ์ด ์์ต๋๋ค. ๋ต์ ์ฌ๊ธฐ์ ์์์ต๋๋ค
๊ธฐ๋ณธ์ ์ผ๋ก CA ์ ๋ขฐ ์ฒด์ธ์ pem(Base64 ์ธ์ฝ๋ฉ) ๋ฒ์ ์ /var/lib/boot2docker/certs/
๋ณต์ฌํฉ๋๋ค. ca ๋ฒ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค. boot2docker ๋ถํ
์คํฌ๋ฆฝํธ๋ ์๋์ผ๋ก ๊ฑฐ๊ธฐ์์ pem ํ์ผ์ ์ ํํ์ฌ ssl ๊ตฌ์ฑ์ ์ถ๊ฐํฉ๋๋ค. ๋ํ ์ด๊ฒ์ ํน์ ๋๋ ํ ๋ฆฌ์ด๋ฉฐ ๋ค์ ์์ํด๋ ๋ณด์กด๋ฉ๋๋ค.
$ docker-machine ssh default 'sudo mkdir /var/lib/boot2docker/certs'
$ docker-machine scp corp-ca.pem default:
$ docker-machine ssh default 'sudo mv corp-ca.pem /var/lib/boot2docker/certs/'
$ docker-machine restart default
์ด๊ฒ์ ๋ ๊ฐ๋จํด์ผํ๋ฏ๋ก ์ง์ํฉ๋๋ค(#1799). ๋ํ ์ ์ฒด ์ ๋ขฐ ์ฒด์ธ์์์ ๊ฐ์ด ์ฌ๋ฌ ์ธ์ฆ์๋ฅผ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋๋ก pem ํ์ผ๋ก ๊ฐ๋ ์ฐฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํ ์ ์์ด์ผ ํฉ๋๋ค.
@rpomeroy ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์ ๋ ๋๊ฐ์ด ํ๊ณ ์์์ง๋ง VM ์ฌ์์์ด ํ์ํ๋ค๋ ๊ฒ์ ๋ชฐ๋๊ณ ๊ทธ๋ก ์ธํด ์ธ์ฆ์๋ฅผ ๋ชจ๋ ๊ณณ์์ ๋ณต์ฌํ์ฌ ์๋ํ๊ฒ ๋ง๋ค์์ต๋๋ค.
Windows์ฉ Docker์ ๋ํ ๋ชจ๋ ์์ ์ฌํญ
@rpomeroy ๊ฐ์ฌํฉ๋๋ค. ๋์ปค ์์คํ
์์ ํ์ฌ ๋ฃจํธ ca๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๋ ์ง์คํธ๋ฆฌ์ ์ก์ธ์คํ ์ ์์ต๋๊น? ์๋๋ฉด /etc/docker/certs.d/hostname/
์ ๋ฌผ๊ฑด์ ๋ฃ์ด์ผ ํฉ๋๊น?
์ค๋ ๋์ ์๋ถ๋ถ์์ ์ธ๊ธํ๋ฏ์ด boot2docker ์๋์ Linux ๋ฐฐํฌํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ผ๋ฏ๋ก /etc/docker/certs์ ํญ๋ชฉ์ ๋ฃ๋ ๊ฒ์ ์ด์๋จ์ ์ ์์ต๋๋ค. var/lib/boot2docker/certs๋ง ๋ณ๊ฒฝ ๊ฐ๋ฅํ๊ณ ์๊ตฌ์ ์ ๋๋ค. ์ด ๋ชจ๋ ์ ๋ณด๋ ์ต์ ๋ฒ์ ์ boot2docker๋ก ๋ค์ ํ์ธํด์ผ ํ ์ ์์ต๋๋ค.
Windows 7 + VirtualBox(v5.2.6) +Docker Toolbox(Boot2Docker ๋ฒ์ 18.02.-ce)๋ฅผ ์คํ ์ค์ด๋ฉฐ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ปจํ
์ด๋๋ฅผ ์คํํ๋ ค๊ณ ํ ๋ ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋์ปค ์คํ ์ฐ๋ถํฌ /bin/echo 'Hello World'
๋ก์ปฌ์์ ' ubuntu:latest ' ์ด๋ฏธ์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค
C:\Program Files\Docker Toolboxdocker.exe: ๋ฐ๋ชฌ์ ์ค๋ฅ ์๋ต: Get https://registry-1.docker.io/v2/ : x509: ์ ์ ์๋ ๊ธฐ๊ด์์ ์๋ช
ํ ์ธ์ฆ์.
'C:\Program Files\Docker Toolboxdocker.exe run --help'๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
@kvvoronina ๋น์ ๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค. ๋์ win 8.1์์ docker toolbox๋ฅผ ์คํ ์ค์
๋๋ค.
๋๋ ๋น์ ์ ๋จ๊ณ๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค. ํ์ง๋ง ์ง์ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค(2๋จ๊ณ ๋ฐ 4๋จ๊ณ์์ ํ์ฌ ๋ฃจํธ ์ธ์ฆ์๋ฅผ ์ ๊ณตํ ์ ์์์ ์๋ฏธํฉ๋๋ค). ์ด๊ฒ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ? ๊ฐ์ฌ
์๋ ํ์ธ์,
๋๋ถ์ ์ ๋ น์ด ์๋ํ๊ณ ์ด์ ๋ด ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ด ์์ ์ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค. https://docs.docker.com/get-started/part2/#build -the-app
์ด ์ค๋ฅ๋ฅผ ์ป์ต๋๋ค.
Step 4/7 : RUN pip install --trusted-host pypi.python.org -r requirements.txt
---> Running in b700eb53b7b2
Collecting Flask (from -r requirements.txt (line 1))
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
after connection broken by 'SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAI
LED] certificate verify failed (_ssl.c:726)'),)': /simple/flask/
๊ทธ๊ฒ์ ๋ํ ๋ฌธ์ ๊ฐ ์์ต๋๊น?
Ubel, ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ฐ์ ธ์ฌ ์ด๋ฏธ์ง๊ฐ ์์ง๋ง ๋์ปค ์์ ์ฐ์ต์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ ์ ์์์ต๋๊น?
@cmenjivar : ์๋์, ์ฌ์ ํ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค...
@Ubel : ์ต๋๋ค . ํ๋๊ฐ ์๋ ํธ์คํ ๋ 3๊ฐ์ Python ํธ์คํธ๋ฅผ ๋ชจ๋ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
RUN pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org -r requirements.txt
@cmenjivar : ๋์์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๊ฒ์ ๋์๊ฒ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
์ด์ nuget ํจํค์ง URL์ ์ฌ์ฉํ์ฌ ๋์ผํ ์์ ์ ์๋ํด์ผ ํฉ๋๋ค.
๋๊ตฐ๊ฐ Windows ํธ์คํธ ๋ฐ Windows ์ปจํ ์ด๋์ ๋ํด ์ด๊ฒ์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๊น?
๊ทธ ๊ฐ์น์ ๋ํด @rpomeroy ๋ ์ ๋ต์ ๊ฐ์ง๊ณ ์์ต๋๋ค...
Windows๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ "Docker ๋น ๋ฅธ ์์ ํฐ๋ฏธ๋"์์ ๋ค์ ๋ช
๋ น์ ์คํํ์ฌ ์ ์ ํ ํ๊ฒฝ์ด ์๋์ง ํ์ธํ์ญ์์ค. "$"๋ ํ๋กฌํํธ์ด๋ฏ๋ก ํด๋น ๋ถ๋ถ์ ๋ถ์ฌ๋ฃ์ง ๋ง์ญ์์ค. ์๋ ๋ช
๋ น์ ์คํํ๊ธฐ ์ ์ ๋ค์ด๋ก๋ ํด๋๋ก ์ด๋ํ๊ธฐ ์ํด cd ~/Downloads
๋ฅผ ๋ฐํํ ์ ์์ต๋๋ค. ์ถ๊ฐํด์ผ ํ๋ ๊ฐ ์ธ์ฆ ๊ธฐ๊ด(์ค๊ฐ ๋๋ ๊ธฐํ)์ ๋ํด ๋ ๊ฐ์ ์ค๊ฐ ๋จ๊ณ(corp-ca.pem)๋ฅผ ๋ฐ๋ณตํ๊ณ ๋ค๋ฅธ ์ด๋ฆ์ ์ง์ ํ ์ ์์ต๋๋ค. corp-ca-root.pem, corp-ca-intermediate.pem ๋ฐ corp-issuing-ca.pem์ด ์๋ ๊ฒฝ์ฐ ์์ผ๋์นด๋๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค(์: corp-*.pem
.
์์ @rpomeroy ์์ ๋ณต์ฌ:
$ docker-machine ssh default 'sudo mkdir /var/lib/boot2docker/certs'
$ docker-machine scp corp-ca.pem default:
$ docker-machine ssh default 'sudo mv corp-ca.pem /var/lib/boot2docker/certs/'
$ docker-machine restart default
--tls-cert, --tls-key ๋ฐ --tls-ca-cert๋ฅผ ์ฌ์ฉํ๋ ค๋ ์ฌ๋๋ค์ ์๋ชป๋ ์ต์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋์ปค ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ธ์ฆ์ ์ํ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ๋งํ๊ณ ์ถ์ ์ ์ผํ ์์ ์ /etc์ ํ์ผ ์์คํ ์ด ์ค์ ๋ก "๋ถ๋ณ"์ด ์๋๋ฉฐ ์ค์ ๋ก๋ "์์"(tmpfs)๋ผ๋ ๊ฒ์ ๋๋ค. ์ฆ, ์ฌ๋ถํ ํ ๋๋ง๋ค ํ์ผ ์์คํ ์ด ์ฌ๋ผ์ง๋๋ค. /var/lib/boot2docker/certs์ ์ ๋ณด๋ /etc/docker/certs...์ ์ฌ๋ฐ๋ฅธ ์์น์ ๋ค์ ์ฑ์์ง๋๋ค.
์ด์จ๋ docker-machine์ด ํธ์คํธ ์์คํ ์ด ์ ๋ขฐํ๋ ๋ชจ๋ ์ธ์ฆ์๋ฅผ ์๋์ผ๋ก ์ ๋ขฐํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ด ์๋ฃจ์ ์ด Windows์ฉ Docker(Hyper-V) ์ค์ ์ด ์๋ boot2docker ์ค์ ์์๋ง ์๋ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ ์ด ์๋ฃจ์ ์ ๋ ๋ ์ฌ๋๋ค์๊ฒ๋ ์ด( @rpomeroy ์ ์๋ฃจ์ )๋ ์๋ฒฝํ๊ฒ ์๋ํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์ด ์ค๋ ๋๋ Windows ํ๊ฒฝ์ฉ Docker์ ๊ด๋ จ์ด ์๊ธฐ ๋๋ฌธ์ ์ด ์ค๋ ๋๋ฅผ 6๋ฒ ์ ๋ ์ฝ๊ณ ๋ฌด์ํ์ ๊ฒ์ ๋๋ค.
@rpomeroy ์ ์๋ฃจ์ ์ boot2docker์ Windows์ฉ Docker ๋ชจ๋์์ ์๋ํฉ๋๋ค.
๋ด ํ์ฌ .cer ์ธ์ฆ์๋ฅผ ๋ด ๋์ปค ์ปจํ ์ด๋์ /etc/pki/ca-trust/source/anchors ๋๋ ํ ๋ฆฌ์ ์ ๋ก๋ํ๊ณ ์๋ ๋ช ๋ น์ ์ ๋ ฅํ์ต๋๋ค.
update-ca-trust ํ์ฑํ
์
๋ฐ์ดํธ ์นด ํธ๋ฌ์คํธ
์์ ๋จ๊ณ๋ฅผ ์ํํ ํ curl์์ ํ์ํ ์ถ๋ ฅ์ ์ป์ ์ ์์ต๋๋ค.
๊ทธ๋ฅ ๋ผ์ด๋ค๊ณ ..
์ปจํ ์ด๋์ ์ด๋ฌํ ๋ง์ดํธ๋ฅผ ๋ชจ๋ ์ถ๊ฐํ๋ ๊ฒ์ด ๋๋ถ๋ถ์ ๊ตฌ์ฑ์์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
volumes:
- /etc/ssl/certs:/etc/ssl/certs
- /usr/share/ca-certificates:/usr/share/ca-certificates
Windows๋ ๋ ๋ค๋ฅธ ์ด์ผ๊ธฐ์ ๋๋ค. ๊ฐ๋ฅํ๋ฉด Windows Docker ํธ์คํธ๋ฅผ ์ฌ์ฉํ์ง ์์ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ๋ง์ ํ๊ณ ๊ฐ ๋ค์๊ณ ํด๊ฒฐ์ฑ ์ ๋นํฉ์ค๋ฌ์ธ ์ ๋๋ก ๊ฐ๋จํฉ๋๋ค(๊ทธ๋ฌ๋ ๋ถ๋ช ํ์ง๋ ์์ต๋๋ค). ๊ทธ๋ฆฌ๊ณ ๋ช ๊ฐ์ง ์ฃผ์ํ ์ ์ด ์์ต๋๋ค. ๋ต์ ์ฌ๊ธฐ์ ์์์ต๋๋ค
๊ธฐ๋ณธ์ ์ผ๋ก CA ์ ๋ขฐ ์ฒด์ธ์ pem(Base64 ์ธ์ฝ๋ฉ) ๋ฒ์ ์
/var/lib/boot2docker/certs/
๋ณต์ฌํฉ๋๋ค. ca ๋ฒ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค. boot2docker ๋ถํ ์คํฌ๋ฆฝํธ๋ ์๋์ผ๋ก ๊ฑฐ๊ธฐ์์ pem ํ์ผ์ ์ ํํ์ฌ ssl ๊ตฌ์ฑ์ ์ถ๊ฐํฉ๋๋ค. ๋ํ ์ด๊ฒ์ ํน์ ๋๋ ํ ๋ฆฌ์ด๋ฉฐ ๋ค์ ์์ํด๋ ๋ณด์กด๋ฉ๋๋ค.์ด๊ฒ์ ๋ ๊ฐ๋จํด์ผํ๋ฏ๋ก ์ง์ํฉ๋๋ค(#1799). ๋ํ ์ ์ฒด ์ ๋ขฐ ์ฒด์ธ์์์ ๊ฐ์ด ์ฌ๋ฌ ์ธ์ฆ์๋ฅผ ์ฝ๊ฒ ์ถ๊ฐํ ์ ์๋๋ก pem ํ์ผ๋ก ๊ฐ๋ ์ฐฌ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํ ์ ์์ด์ผ ํฉ๋๋ค.