【问题标题】:docker-machine create node without tls verificationdocker-machine 无需 tls 验证即可创建节点
【发布时间】:2015-06-08 19:19:07
【问题描述】:

当我使用 docker-machine

创建节点时
docker-machine create -d virtualbox node1

它是在为 docker deamon 启用 tls 验证的情况下创建的,这使得 swarm 比正常情况下更麻烦。

我想用 docker-machine 创建一个没有 tls 验证的节点以进行测试。

我试过了:

docker-machine create -d virtualbox --engine-tls false node1

docker-machine create -d virtualbox --engine-tls-verify false node1

docker-machine create -d virtualbox --engine-opt-tls false node1

【问题讨论】:

    标签: docker docker-machine


    【解决方案1】:

    我使用以下命令:

    docker-machine create -d virtualbox --engine-env DOCKER_TLS=no node1
    

    然后ssh到节点执行docker命令:

    docker-machine ssh node1
    $ docker info
    

    【讨论】:

      【解决方案2】:

      尝试:

      docker-machine create -d virtualbox --engine-opt tlsverify=false node1
      

      运行后:

      eval "$(docker-machine env node1)"
      

      运行:

      unset DOCKER_TLS_VERIFY
      

      【讨论】:

      • 对我不起作用。当我按照上述步骤并尝试在机器上运行容器时,我得到:docker run hello-world Post http://192.168.99.104:2376/v1.21/containers/create: malformed HTTP response "\x15\x03\x01\x00\x02\x02\x16". * Are you trying to connect to a TLS-enabled daemon without TLS?
      • vm中的docker引擎进程仍然设置了tls标志:/usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 --label provider=virtualbox --tlsverify=false --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -s aufs
      • 在创建 notls 虚拟机后,docker-machine ls 给出错误信息:Unable to query docker version: Get https://192.168.99.101:2376/v1.15/version: http: server gave HTTP response to HTTPS client
      【解决方案3】:

      这对我来说效果最好:

      docker-machine create -d virtualbox --engine-env DOCKER_TLS=no --engine-opt host=tcp://0.0.0.0:2375 node1

      这样,除了 2376 之外,它还绑定到 2375。2375 是非 tls 守护进程的传统。

      【讨论】:

      • 这可行,但 docker-machine 最后会抛出一个错误,docker-machine env 也会抛出一个错误,因此您必须手动设置 env 才能使 docker 客户端正常工作。
      • docker-machine create -d virtualbox --engine-env DOCKER_TLS=no node1 也可以!而且它不会暴露额外的端口,因为它不需要
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 2019-06-22
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      相关资源
      最近更新 更多