DOCKER\u TLS\u验证和DOCKER\u CERT\u路径变量的作用是什么?

DOCKER\u TLS\u验证和DOCKER\u CERT\u路径变量的作用是什么?,docker,boot2docker,dockerfile,Docker,Boot2docker,Dockerfile,我是Docker新手,在Windows 7上使用boot2docker。 当我试图通过spotify maven插件配置Docker build时,我被要求设置以下环境变量: DOCKER_HOST DOCKER_CERT_PATH DOCKER_TLS_VERIFY 配置成功,但我不确定 DOCKER\u TLS\u验证和DOCKER\u CERT\u路径变量的作用是什么 作为: 默认情况下,boot2docker在启用TLS的情况下运行docker。它会自动生成证书并将其存储在VM内的/h

我是Docker新手,在Windows 7上使用boot2docker。
当我试图通过spotify maven插件配置Docker build时,我被要求设置以下环境变量:

DOCKER_HOST
DOCKER_CERT_PATH
DOCKER_TLS_VERIFY
配置成功,但我不确定
DOCKER\u TLS\u验证
DOCKER\u CERT\u路径
变量的作用是什么

作为:

默认情况下,boot2docker在启用TLS的情况下运行docker。它会自动生成证书并将其存储在VM内的
/home/docker/.docker
中。
启动VM后,
boot2docker up
命令将它们复制到主机上的
~/.boot2docker/certs
,并为
DOCKER\u CERT\u路径
DOCKER\u TLS\u验证
环境变量输出正确的值

出于安全原因,我们强烈建议不要使用未加密的Docker套接字运行Boot2Docker,但如果您有无法轻松切换的工具,可以通过将
Docker\u TLS=no
添加到
/var/lib/Boot2Docker/profile
文件来禁用它


在更动态的环境中,boot2docker ip可以更改,请参阅。

请查看下面的注释。我不是一个Go开发者,但我了解它的用法。 以后再编辑,因为它太简朴了


你能说得更具体些吗?人们怎么能真正从代码中读出确切的路径呢?
eval "$(boot2docker shellinit)" will also set them correctly.
[...]
// 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") == "",
[...]