Docker监听远程端口实现远程调用API


     网上关于Docker如何修改配置实现HTTP API调用。但是由于Docker近来版本更新快,但是大致还是差不多配置方法:

 

 系统:Centos7

Docker 1.12.0  的配置方法:

查找Docker包:

  1. [root@test ~]# rpm -qa|grep docker 
  2.  
  3. docker-engine-selinux-1.12.0-1.el7.centos.noarch 
  4.  
  5. docker-engine-1.12.0-1.el7.centos.x86_64 
  6.  
  7. docker-registry-0.9.1-7.el7.x86_64 

查看docker-engine-1.12.0-1.el7.centos.x86_64的安装目录:【yum安装的都是一样的位置】

  1. rpm -ql docker-engine-1.12.0-1.el7.centos.x86_64 

vim /lib/systemd/system/docker.service  【添加紫色部分】

  1. ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 

端口可根据情况修改,不冲突就好;

重启Docker程序:

  1. systemctl daemon-reload 
  2. systemctl restart docker 

 

 

系统:Centos6.5 

Docker 1.7.1配置方法:

修改配置文件:/etc/sysconfig/docker

添加以下参数:

other_args="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"

保存,重启Docker程序;

测试方法:

通过接口获取所有的镜像:

  1. curl 'http://192.168.18.54:2375/images/json?all=0'| python -m json.tool 

查看已经启动的容器信息:

  1. curl http://192.168.18.54:2375/containers/json |python -m json.tool 

获取指定容器的具体信息:

  1. curl -X GET 'http://192.168.18.54:2375/containers/e37e50e73bd4/json'|python -m json.tool 

启动指定容器:【此处使用容器别名】

  1. curl -XPOST "http://192.168.18.54:2375/containers/t1/start" 

更详细参考官方文档:

Docker Remote API

注:

这样开启了远程调用存在安全漏洞的问题,对外网使用时建议添加认证。