http - 如何使docker客户端通过http连接到docker守护进程

标签 http docker docker-machine

我有一台运行 docker 守护进程的主机,带有这些选项:

dockerd -H tcp://0.0.0.0:2376 ...

我想从远程主机使用 docker-machine 连接到此实例的 docker API,但我总是收到以下消息:

http: server gave HTTP response to HTTPS client

我的主机通过 http 响应良好:

root$ curl -v  http://10.228.38.30:2376/v1.15/version
* Hostname was NOT found in DNS cache
*   Trying 10.228.38.30...
* Connected to 10.228.38.30 (10.228.38.30) port 2376 (#0)
> GET /v1.15/version HTTP/1.1
> User-Agent: curl/7.38.0
> Host: 10.228.38.30:2376
> Accept: */*
> 
< HTTP/1.1 200 OK
< Content-Type: application/json
* Server Docker/1.12.3 (linux) is not blacklisted
< Server: Docker/1.12.3 (linux)
< Date: Wed, 14 Dec 2016 12:25:45 GMT
< Content-Length: 196
< 
{"Version":"1.12.3","ApiVersion":"1.24","GitCommit":"6b644ec","GoVersion":"go1.6.3","Os":"linux","Arch":"amd64","KernelVersion":"3.16.0-4-amd64","BuildTime":"2016-10-26T21:39:14.007365648+00:00"}
* Connection #0 to host 10.228.38.30 left intact

如何告诉 docker 客户端(即这里的 docker-machine)通过 http 而不是 https 与守护进程对话?

我不需要 https,因为我在测试环境中。

最佳答案

首先你需要configure your Docker daemon使用 HTTP 而不是 HTTPS。

然后你可以添加一个带有 generic driver 的 docker 机器,像这样:

$ docker-machine create \
  --driver generic \
  --generic-ip-address=203.0.113.81 \
  --generic-ssh-key ~/.ssh/id_rsa \
  vm

关于http - 如何使docker客户端通过http连接到docker守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41144726/

相关文章:

php - 拉拉维尔 : MethodNotAllowedHttpException only on production server

javascript - 如何在 Angular 2 中使用 URLSearchParams?

javascript - EventSource(服务器发送的事件)中的 HTTP 授权 header

linux - 什么是/dev/mapper/vg_root-lv_root 目录?为什么我的 docker 依赖这个目录?

wordpress - 在 wordpress docker 中编辑默认的 .htaccess

docker - 如何将新软件包安装到非 root Docker 容器中?

oracle - 拒绝访问 oracle/serverjre

node.js - 基于 Promise 的 Node http 框架?

docker - 处理克隆容器上的不同配置文件

docker - 从公司代理后面运行时,"docker-machine create"出现连接尝试失败错误