首页 » 我的课程 » docker教程 » 正文

[干货]PHP+Docker API远程管理容器

在本机上 我们可以输入docker images 列出所有镜像

假设 我们要在远程机器上管理 服务器docker就要开启远程端口

首先 我们要 修改 docker配置文件,使之可以远程管理

centos默认配置在 /etc/sysconfig/docker
 vi 一下即可 然后加入
other_args=”-H 0.0.0.0:5555“  端口自己定义哦  不一定要和我一样

注意,如果你使用的是非centos如ubuntu 那么 应该在/etc/default/docker
 修改的值是DOCKER_OPTS=”-H 0.0.0.0:5555″

重启服务

service docker restart
然后docker -H localhost:5555 就可以远程管理

 当然你会发现本机无法管理了。修改一下配置文件
 这样既可以远程管理,又可以本机管理
-H unix:///var/run/docker.sock -H 0.0.0.0:5555

这样就好了?NO

课程里的虚拟机是192.168.1.108
我打开浏览器,访问如下地址
http://192.168.1.108:5555/containers/json?all=1
大家看看 出现了神马?

其实就是获取你所有的容器 信息,并用json的方式显示出来。大家看我用php来实现以下

php curl的GET方法

 function getDockerAPI($url)
     {
         
        $bbburl=$url;
        
         $ch = curl_init();  
        curl_setopt($ch, CURLOPT_HEADER, 0);  
    
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
        curl_setopt($ch, CURLOPT_TIMEOUT, 5000);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//ssl 不验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);//ssl 不验证
        curl_setopt($ch, CURLOPT_URL,$bbburl );    
      
        $res = curl_exec($ch);
    
        return $res;
     }   
 function getAllContainers()
     {
         $res=getDockerAPI(host.”containers/json?all=1″);
        return json_decode($res,true);
     }

 getAllContainers()  调用这个,可以 列出所有的容器


其他内容大家可以看视频,视频里包含,用post方法调用,创建容器和运行容器的基本方法


点这里直达我的视频课程

发表评论