2015-07-02 16 views
6

Ben 7.
Ben Docker spotify maven eklenti aracılığıyla inşa yapılandırmak için uğraşırken Windows üzerinde boot2docker kullanarak, Docker için yeni, ben env değişkenleri aşağıda istendi:DOCKER_TLS_VERIFY ve DOCKER_CERT_PATH değişkeni ne yapıyor?

DOCKER_HOST 
DOCKER_CERT_PATH 
DOCKER_TLS_VERIFY 

Yapılandırma başarılı oldu ama ben emin değil DOCKER_TLS_VERIFY ve DOCKER_CERT_PATH değişkenleri ne yapar?

cevap

2

mentioned in the README gibi: Varsayılan olarak

, boot2docker TLS ile liman işçisi etkin çalışır. Otomatik sertifika üretir ve bunları VM içinde /home/docker/.docker içine kaydeder.
boot2docker up komutu, VM başlatıldıktan sonra bunları ana makine üzerinde ~/.boot2docker/certs kopyalayacak ve DOCKER_CERT_PATH ve DOCKER_TLS_VERIFY ortam değişkenleri için doğru değerleri çıktı olarak verecektir.

eval "$(boot2docker shellinit)" will also set them correctly. 

önemle güvenlik nedeniyle şifrelenmemiş Docker soketi ile Boot2Docker çalışan karşı tavsiye, fakat değişim kolayca olamaz araçlar varsa, sizin /var/lib/boot2docker/profile dosyaya DOCKER_TLS=no ekleyerek devre dışı bırakabilirsiniz

.

Daha dinamik bir ortamda, boot2docker ipinin nerede değiştirilebileceğini görmek için, bkz. issue 944.

+0

den

Anladım !! Teşekkür ederim VonC. – anired

1

Lütfen şu an için yorumları kontrol ediniz. Ben bir Go geliştiricisi değilim ama ondan kullanımı anlıyorum. Daha sonra Spartan olduğu için düzenlenebilir. https://github.com/docker/docker/blob/3ea762b9f6ba256cf51bd2c35988f0c48bccf0b0/client/client.go

[...] // Use DOCKER_HOST to set the url to the docker server. // Use DOCKER_API_VERSION to set the version of the API to reach, leave empty for latest. // Use DOCKER_CERT_PATH to load the tls certificates from. // Use DOCKER_TLS_VERIFY to enable or disable TLS verification, off by default. func NewEnvClient() (*Client, error) { var client *http.Client if dockerCertPath := os.Getenv("DOCKER_CERT_PATH"); dockerCertPath != "" { options := tlsconfig.Options{ CAFile: filepath.Join(dockerCertPath, "ca.pem"), CertFile: filepath.Join(dockerCertPath, "cert.pem"), KeyFile: filepath.Join(dockerCertPath, "key.pem"), InsecureSkipVerify: os.Getenv("DOCKER_TLS_VERIFY") == "", [...]