【云计算】docker daemon如何提供Restful的API

Docker Remote API 如何使用?

docker 的 Remote API 定义如下: 这个API看着是http协议的但是我用 curl 这个命令却什么也得不到,我从网上另外搜到的命令 echo -e "GET /images/json HTTP/1.0\r\n" | nc -U /var/run/docker.sock 可以得到所有容器的信息,我想知道如果是 http 协议的接口的话为什么用 curl 得不到数据?
 
按投票排序 按时间排序

4 个回答

 

知乎用户,Engineer@Docker Inc.
知乎用户、刘梦馨jasine
等人赞同
你要把 docker daemon 绑定到该端口上。默认情况下,docker daemon使用unix socket(unix:///var/run/docker.sock) 先停止docker daemon再重新启动:
service docker stop
docker -d -H unix:///var/run/docker.sock -H 0.0.0.0:4243
之后就可以:
 curl http://127.0.0.1:4243/containers/json

收藏


没有帮助

 
 

知乎用户,骨灰级Docker粉。
知乎用户
赞同
Docker Remote API是一个取代远程命令行界面(rcli)的REST API。本文中,我们将使用命令行工具cURL来处理url相关操作。cURL可以发送请求、获取以及发送数据、检索信息。具体内容你可以看看这篇文章:Docker入门教程(八)Docker Remote API

收藏


没有帮助

 
 

史杰,IT行业 / 软件开发
8997511
赞同
1 修改配置文件 CentOS: /etc/sysconfig/docker Ubuntu: /etc/init/docker.conf       DOCKER_OPTS='-H tcp://0.0.0.0:2375  -H unix:///var/run/docker.sock'
2. 重启   service restart docker
3. 测试   在本机 curl   在其他机器上:curl http://hostanme:2375/info * 此时本地client可以继续通过Unix sock与docker daemon通行 例如:docker info 命令继续有效。

收藏


没有帮助

 

涂飞平,伪架构师,真程序员
 
默认以文件socket方式启动docker的,改成tcp的就可以了

收藏


没有帮助



作者保留权利

 

参考资料:

http://www.zhihu.com/question/24852884

http://blog.csdn.net/zhang__jiayu/article/details/43453369

 

posted @ 2016-02-26 16:14  junneyang  阅读(924)  评论(0编辑  收藏  举报