2015-07-02 14 views
6

Tôi mới vào Docker, sử dụng boot2docker trên Windows 7.
Trong khi tôi đang cố gắng để cấu hình Docker xây dựng thông qua plugin của maven Spotify, tôi đã được yêu cầu đặt bên dưới biến env:Biến DOCKER_TLS_VERIFY và DOCKER_CERT_PATH hoạt động như thế nào?

DOCKER_HOST 
DOCKER_CERT_PATH 
DOCKER_TLS_VERIFY 

Cấu hình đã thành công nhưng tôi không chắc chắn Biến số DOCKER_TLS_VERIFYDOCKER_CERT_PATH là gì?

Trả lời

2

Như mentioned in the README:

Theo mặc định, boot2docker chạy Docker với TLS được kích hoạt. Nó tự động tạo ra các chứng chỉ và lưu trữ chúng trong /home/docker/.docker bên trong VM.
Lệnh boot2docker up sẽ sao chép chúng thành ~/.boot2docker/certs trên máy chủ khi máy ảo đã khởi động và xuất các giá trị chính xác cho các biến môi trường DOCKER_CERT_PATHDOCKER_TLS_VERIFY.

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

Chúng tôi khuyên chống lại chạy Boot2Docker với một ổ cắm Docker không được mã hóa vì lý do an ninh, nhưng nếu bạn có công cụ mà không thể dễ dàng chuyển, bạn có thể vô hiệu hóa nó bằng cách thêm DOCKER_TLS=no đến file /var/lib/boot2docker/profile của bạn.

Trong một môi trường năng động hơn, nơi ip boot2docker có thể thay đổi, xem issue 944.

+0

Got it !! Cảm ơn bạn VonC. – anired

1

Vui lòng kiểm tra các nhận xét bên dưới ngay bây giờ. Tôi không phải là nhà phát triển Go nhưng tôi hiểu cách sử dụng nó. Để được chỉnh sửa sau vì nó quá Spartan.

từ 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") == "", [...]

Các vấn đề liên quan