Tag: api

我如何使用REST API与Docker引擎进行交互?

您可能知道,我们可以使用命令docker images来列出我们在本地主机上的docker镜像。 现在,我想通过在Firefox或Chrome中发送HTTP GET请求来从远程服务器获取相同的信息。 docker工人提供一些REST API来做到这一点? 我做了很多search。 例如: https : //docs.docker.com/engine/api/get-started/#run-a-container-in-the-background 它提供了一个这样的方式: curl –unix-socket /var/run/docker.sock http:/v1.24/containers/json 我知道很less关于unix socket,我不认为这是我想要的。 URL(http:/v1.24/containers/json)太奇怪了,甚至没有一个服务器名称。 我不认为它可以在远程服务器上工作。 (它可以在本地服务器上运行) 任何一位先生能帮我吗? 有没有关于这个话题的官方文档docker?

Docker:无法访问远程API

我试图启用泊坞窗restAPI,然后从我的本地机器访问它。 我有一个ec2实例的docker安装程序。 我编辑我的/lib/systemd/systemd/docker.service的ExecStart行 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:4243 然后我运行systemctl daemon-reload和sudo service docker restart 。 当我从服务器内部运行curl http://localhost:4243/version ,我得到了我正在寻找的回报。 但是,当我从本地系统运行curl http://remote-machine-ip:4243/version ,我得到一个failed to connect错误。 我该如何解决?

dockerAPI客户端/服务器版本不匹配?

泊坞窗版本显示正确的API版本的客户端和服务器时,我运行里面的python它是抛出错误如下。 # docker version Client: Version: 1.12.6 API version: 1.24 Package version: docker-1.12.6-48.git0fdc778.el7.x86_64 Go version: go1.8.3 Git commit: 0fdc778/1.12.6 Built: Thu Jul 20 00:06:39 2017 OS/Arch: linux/amd64 Server: Version: 1.12.6 API version: 1.24 Package version: docker-1.12.6-48.git0fdc778.el7.x86_64 Go version: go1.8.3 Git commit: 0fdc778/1.12.6 Built: Thu Jul 20 00:06:39 2017 OS/Arch: linux/amd64 # 但是,当我用Python运行它是抛出错误,如下所示。 # python Python […]

Zabbix – 如何降低不支持的项目刷新间隔

我有一个容器是runnig zabbix_web,并具有它需要正常工作的一切(zabbix_server和zabbix_web)。 在不同的容器中,我有testing创buildzabbix项目,并通过zabbix API执行不同的检查。 我需要能够降低不受支持的项目resresh间隔testing更可靠,我不知道该怎么做。 尽pipe可以通过zabbix web GUI轻松完成。

Django重置API在Docker上不起作用

我是Docker新手,在Docker之前,我在heroku工作,这些Django Rest APIs在本地服务器和heroku上运行完美,但是当我在docker上部署这些API时,他们向我发送了400 Bad Request错误,我不知道发生了什么问题是,有人可以给我一个提示docker上出了什么问题。 对于docker形象: sudo docker build -t brainplow/reviewsaidev . 对于图像运行: sudo docker run -p 8888:8000 -d brainplow/reviewsaidev 推图片: sudo docker push brainplow/reviewsaidev 我不知道如何看到docker上的错误日志。 这里是错误日志 (ven_reviews_ai) nazir@nazir-HP-EliteBook-840-G1 ~/PycharmProjects/ReviewsAI $ sudo docker run -p 9009:8000 brainplow/reviewsaidev Starting Gunicorn. [2017-10-30 09:00:06 +0000] [1] [INFO] Starting gunicorn 19.7.1 [2017-10-30 09:00:06 +0000] [1] [INFO] Listening at: http://0.0.0.0:8000 […]

使用API​​获取的标签列表中的Artifactory API(curl)删除Artifactory泊坞窗图像

我正在寻找删除基于我用curl(API)获得的列表Artifactory中的一堆docker图像。 我的标签列表是通过这个命令获得的… curl -X GET http://srv_name:srv_port/artifactory/api/docker/docker-local/v2/something/something_else_1.0_snapshot/tags/list 是否有可能根据创builddate过滤结果并删除比….更老的东西。 或者只是从内部编号1到25的列表,例如…

GO使用Docker API时发出问题 – 无法导入“nat”

我正在尝试使用可从github.com/docker/docker/client获得的golang docker API。 到目前为止,我能够在图像生成期间预定义的端口上启动容器。 我试图在运行时使用API​​映射端口; 相当于一些东西 docker run -p 8083:8082 -d myImage:1.0.0 我试图做如下的映射端口: host_config := &container.HostConfig{ PortBindings: nat.PortMap{ "8082/tcp": []nat.PortBinding{ { HostIP: "0.0.0.0", HostPort: "8983", }, }, }, } 这里的问题是variables“nat”存在于API的供应商文件夹内。 我无法直接从go供应商文件夹中导入某些内容。 有人build议将复制连接文件夹到github文件夹中,并删除嵌套的供应商目录。 我按照build议做了,并创build了一个path如下: "github.com/docker/go-connections/nat" 现在我在编译期间得到以下错误: src\main\createcontainer1.go:53: cannot use "github.com/docker/go-connections/nat".PortSet literal (type "github.com/docker/go-connections/nat".PortSet) as type "github.com/docker/docker/vendor/github.com/docker/go-connections/nat".PortSet in field value src\main\createcontainer1.go:65: cannot use "github.com/docker/go-connections/nat".PortMap literal (type "github.com/docker/go-connections/nat".PortMap) […]

服务来pipe理Docker云计算机的完整生命周期

我正在寻找一个服务(REST)来按需编排我的docker集装箱。 鉴于:docker图像,configuration和云提供商(EC2,DigitalOcean,Azure等) 问题:我需要一个服务,允许我创build和pipe理云计算机,部署我的docker容器,并在计算完成后closures所有东西。 示例工作stream程 客户端应用程序调用编排服务,请求计算服务 编排服务启动EC2(或任何其他机器) 编排服务build立docker集装箱 编配服务返回到新创build的计算服务的客户端IP 客户端使用计算服务 一旦客户端完成,它会调用编排服务来终止EC2机器

Docker API:在网页中显示容器日志

我正在使用Appersonlabs的https://github.com/appersonlabs/docker.io中的docker.io包在node.js中使用docker web客户端的项目。 为了构build一个完整的客户端,我想将容器日志stream式传输到一个网页。 这是我使用api的路线: app.get('/containers/:id',function(req,res){ console.log('INSPECT CONTAINER WITH ID '+req.params.id); docker.containers.inspect(req.params.id,function(err,infos){ docker.containers.attach(req.params.id, {stream: true, stdout: true, stderr:false, tty:false}, function(err,stream) { console.log(stream); res.render('containers/show.ejs',{container: infos, name: name, stream: stream}); }); }); }); 但是当我console.logstream我有一堆输出信息的大JSON文件。 根据docker的API,我应该如何继续( http://docs.docker.io/en/latest/reference/api/docker_remote_api_v1.10/#attach-to-a-container ) 实施 实现Attach协议的最简单方法如下: 读取8个字节 根据第一个字节selectstdout或stderr 从最后4个字节中提取帧大小 读取提取的大小并将其输出到正确的输出 转到第一步 题 : 我应该如何着手实现呢? 我真的不知道如何开始。 注意:据我所知,我的http请求是正确的,这里是我从API获得的JSON响应的示例: method: 'POST', path: 'http://localhost:4243/v1.7/containers/8196569ecaaf2bbcf726189b60212676ad1351f6ff4df6ebe9deb4743b52e138/attach?stream=true&stdout=true&stderr=false&tty=false', _headers: [Object],

我应该为共享的Docker依赖项提供服务吗?

我有3个不同的服务,使用GraphicsMagick作为依赖,我刚刚开始使用Docker。 所以我想知道,我应该为GraphicsMagick(也许使用PHP)做一个单独的光API,并把它放在一个单独的Docker容器? 由于GraphicsMagick只是一个可执行文件。 或者它会很慢,最好的方法是将GraphicsMagick作为每个服务容器的依赖项安装? 谢谢!