问题标签 [docker-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 如何使用 REST API 在 Docker-Hub 中找到公共映像(如 ubuntu)?
以前我用
https://registry.hub.docker.com/v1/search?q=ubuntu&n=1 并得到
但现在我得到了过时的图像
我现在怎样才能得到它?
我在这里没有找到任何信息:https ://docs.docker.com/v1.7/reference/api/docker-io_api/
提前致谢
docker - CentOS 7 中带有 Docker 登录的 Docker API 版本
当我启动 Ansible 角色以在 CentOS 7 VM 中安装 Docker 时遇到问题。
任务运行时docker-login
出现以下错误:
"msg": "Docker API 错误:客户端比服务器更新(客户端 API 版本:1.24,服务器 API 版本:1.22)"
这就是 Ansible 角色:
这将安装 docker 1.10.3 版本和 API 版本 1.22。
curl - Docker Remote API exec:命令退出代码
我正在使用 Docker Remote API 运行一些命令,我意识到即使我传递给它的命令失败,状态也是 200。
例子:
这将返回一个 ID。
POST /exec/b64592543bc59e08de4d1d11c8a68415148a608b00aa62448284635f47eaa734/start HTTP/1.1 Host: myip:2375 User-Agent: curl/7.47.1 Accept: / Content-Type: application/json Content-Length: 28
HTTP/1.1 200 OK 内容类型:application/vnd.docker.raw-stream exec:“错误”:$PATH 中找不到可执行文件
状态码是 200,那么有没有其他方法可以知道命令在 exec 上运行是否成功?
我目前的解决方法是将这样的东西作为命令传递:
bash -c 'command && echo SUCCEEDED_FLAG || echo FAILED_FLAG'
稍后再搜索flag
PS:我使用邮递员和卷曲来测试这个。
docker - exec `curl --unix-socket /var/run/docker.sock http://containers/json` 时出现“404 页面未找到”
我的 docker 守护进程有什么问题吗?如何从 docker unix-socket 获取容器信息?docker 守护进程绝对启动。
docker-registry - 如何从私有 Docker Registry 中“删除”图像?
我正在为 docker 编写一个 API 客户端,而注册表 API 很难使用。我正在尝试从注册表中删除图像,但是我不断收到此错误
我的步骤如下,
编辑
自从我找到REGISTRY_STORAGE_DELETE_ENABLED
变量以来,我正在更新我的问题。
我现在像这样运行注册表容器,
这会产生一个新的错误,
显然,UNSUPPORTED
错误实际上意味着特定功能被禁用。
但是我读到的所有内容都说删除清单的实体引用(来自 HEAD 请求的摘要)应该删除存储库。我只想使我的私人注册表中的存储库无法访问,我认为已删除。
如何从私有注册表中删除图像,使其无法被拉取?
docker - Docker 群模式 API 身份验证
在尝试 docker swarm mode api 之前,我在https://docs.docker.com/engine/security/https/的帮助下设置了带有 tls 身份验证的 docker remote api 。现在我的 /usr/lib/systemd/system/docker.service 配置了
ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock --tlsverify --tlscacert=/root/.docker/ca.pem --tlscert=/root/.docker/new-certs /server-cert.pem --tlskey=/root/.docker/new-certs/server-key.pem -H=0.0.0.0:2376
它工作得很好,我能够运行下面的命令并得到结果
curl https://$HOSTNAME:2376/tasks --cert ~/.docker/new-certs/cert.pem --key ~/.docker/new-certs/key.pem --cacert ~/.docker/new -certs/ca.pem
现在我创建了一个群体
码头工人群初始化
*:2377 现已上市
但由于某种原因,下面的命令返回“curl:(60) Peer 的证书颁发者已被标记为用户不信任”
curl https://$HOSTNAME:2377/tasks --cert ~/.docker/new-certs/cert.pem --key ~/.docker/new-certs/key.pem --cacert ~/.docker/new -certs/ca.pem
我找不到这种场景的任何合适的例子,所有这些都是关于 legacy swarm 的,例如https://docs.docker.com/swarm/configure-tls
json - Docker API 无法应用 json 过滤器
根据https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/list-tasks,过滤器只能用于获取具有特定服务名称的正在运行的容器。出于某种原因,我得到了所有任务的完整列表,无论它们的名称或期望的状态如何。我找不到任何将 curl 与带有 Docker API 的 JSON 请求一起使用的适当示例。我正在使用以下命令:
一个)
返回一切
B)试图从Docker 远程 API 过滤器退出
这个返回“curl: (60) Peer's Certificate issuer is not recognize.”,所以我猜 curl 请求格式不正确。
我在 Docker 论坛上问过,他们帮了一点忙。我很惊讶互联网上没有关于如何使用 Docker API 和 curl 的适当文档,或者它是如此明显并且我不明白什么?
docker - 我的电脑重启后 Docker 远程 api 不重启
上周我努力docker remote api
工作。由于它在 VM 上运行,因此我从那时起就没有重新启动我的 VM。今天我终于重新启动了我的虚拟机,它不再工作了(docker 和 docker-compose 工作正常,但不是docker remote api
)。我的 docker init 文件如下所示/etc/init/docker.conf
:
上次我在这里进行了设置
我试着nmap
看看是否port 4243
打开。
如您所见,端口 4232 未打开。
当我运行时:
我也运行这个:
我多次重新启动计算机并尝试了很多事情,但都没有成功。我已经有一个名为 docker 的组,我的用户在:
请告诉我有什么问题。
docker - 在 docker 中如何使用 Rest API 创建服务?
我只想使用 docker 创建一个服务。我使用命令行创建,但我没有发现做同样的事情。抱歉,如果这是一个愚蠢的问题,请帮助我是初学者
docker - 如何在 Centos 7 上公开 Docker 远程 API?
在 ubuntu 上,我可以进入/etc/init/docker.conf
并输入DOCKER_OPTS='-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock'
以获取 json 数据以显示在我的浏览器上,但我该如何为 Centos 做呢?
我尝试在其中创建一个文件/etc/sysconfig/docker
并将其放入other_args="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock"
文件中并重新启动 docker,但它什么也没做。