我正在尝试将 docker tcp ip 公开给我的主机 docker 客户端。我有以下设置
- Virtualbox 4.3.26 r98988
- vagrant 1.7.2
- Mac OSX Mavericks 10.9.5
- Centos 6.6 vagrant box 正在运行(docker 1.5.0)
- 主机和 vagrant box 上的 Docker 1.5
仅供参考,我可以在浏览器中顺利访问公开的 docker 容器。我在 VagrantFile 中公开了必要的端口
在 /etc/init.d/docker 中我已将 other_args 设置如下:
other_args="--insecure-registry 192.168.254.96:5000 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
DOCKER_HOST=tcp://127.0.0.1:2375
我在主机上进行了以下设置,但出现以下错误:
FATA[0076] An error occurred trying to connect: Get https://127.0.0.1:2375/v1.17/containers/json: EOF
如果我设置 DOCKER_HOST=tcp://172.17.8.101 然后我得到
FATA[0076] An error occurred trying to connect: Get https://127.0.0.1:2375/v1.17/containers/json: EOF I'm not able to run the usual docker ps from the host.
我尝试运行 netstat -tulpn 来查看 virtualbox/vagrant 实例正在监听什么。似乎 2375 正在监听。
我尝试查看该实例的虚拟网络设置
我有几个问题
- 我在 /etc/init.d/docker 中正确设置了 tcp 连接吗?应该是我在 vagrant 中设置的 ip 吗?
- 有没有办法检查 docker 客户端是否正在与 mac 主机连接?
答案1
我最终使用了 https (https://docs.docker.com/articles/https/)。完成这些步骤后,我需要停止 iptables 服务/etc/init.d/iptables stop
。