在启动守护进程的Ubuntu 14.04上启用Docker Remote API

docker的远程API的激活我很困难。

已尝试通过以下命令设置configuration:

DOCKER_OPTS =“ – H tcp://127.0.0.1:2375”

在以下文件中:

/etc/default/docker 

 /etc/init.d/docker.conf 

然后通过pkill重新启动守护进程,并由docker守护进程重新启动,但仍然不能为我工作。 我错过了什么?

 root@ubuntu:~# docker info Containers: 7 Running: 1 Paused: 0 Stopped: 6 Images: 24 Server Version: 1.11.2 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 139 Dirperm1 Supported: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge null host Kernel Version: 4.2.0-36-generic Operating System: Ubuntu 14.04.4 LTS OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 7.78 GiB Name: ubuntu enter code here 

运行docker daemon &手动忽略所有configuration文件。 当你用OS upstart命令或/etc/init.d/docker start启动Docker时,会引用这些文件。 要在手工启动时绑定端口,您需要传递参数docker daemon -H tcp://127.0.0.1:2375 。 请注意,这允许任何有权访问本地networking的人在您的计算机上进行完全根访问。

而不是更改docker守护进程configuration并重新启动它,您可以使用Sherpa通过远程代理打开到远程API的path。 就像是:

 docker run -d \ --name sherpa \ -e CONFIG='[ { "Path" : "/", "Access": "allow", "Addresses": ["10.0.0.0/8"] } ]' \ -v /var/run/docker.sock:/tmp/docker.sock \ -p 4550:4550 \ djenriquez/sherpa --allow 

会给你访问端口4550,只接受来自10.0.0.0/8空间的源客户端的请求。 您也可以为远程API自定义各种ACL。 如果这更容易,您可以在启动时运行docker run脚本。

在这里检查介绍性的post: https : //www.linkedin.com/pulse/easily-enable-docker-remote-api-sherpa-dj-enriquez或直接到这里回购: https : //hub.docker.com/ R / djenriquez /夏尔巴/