在Mac OS X(boot2docker)上的Docker中启用远程API
我似乎无法弄清楚如何在使用boot2docker时启用远程API。我正在尝试使用dockerode,如下所示:
Docker = require('dockerode')docker = new Docker(socketPath: "/var/run/docker.sock")
container = docker.getContainer('<my_container_id>')
container.inspect (err, data) ->
debug data
尽管存在ID为“”的容器,但数据为null。我怀疑这是因为OS X主机上没有/var/run/docker.sock,因此我需要使用类似以下内容:
var docker2 = new Docker({host: 'http://192.168.1.10', port: 3000});
…但是无法弄清楚如何在VirtualBox VM中配置boot2docker或docker以启用通过http或tcp的访问。
回答:
由Boot2Docker配置的Docker默认支持 从主机OSX机器 在端口2375上进行远程访问;这是告诉您要做的事情export
DOCKER_HOST=tcp://192.168.59.103:2375
如果要从另一台计算机访问端口,则需要配置VirtualBox网络以将流量路由到该端口。这可以通过使用以下命令进行端口转发来完成:
VBoxManage modifyvm "boot2docker-vm" --natpf1 "guestssh,tcp,,2375,,2375"
然后,new Docker
代码中要使用的地址就是Mac的IP地址。
您也可以在VirtualBox GUI中的boot2docker-vm / settings / network / advanced / port
forward下配置它。
请参阅VirtualBox
docs。
注意,如所描述这里,这现在允许任何人以IP访问您的计算机来控制你的码头工人的安装,这可能是一个安全问题。
以上是 在Mac OS X(boot2docker)上的Docker中启用远程API 的全部内容, 来源链接: utcz.com/qa/399711.html