问题标签 [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.

0 投票
2 回答
9595 浏览

windows - 如何从运行 Docker Toolbox(docker 机器)的 Windows 启用 Docker API 访问

我正在运行最新的 Docker Toolbox,使用最新的 Oracle VirtualBox,Windows 7 作为主机操作系统。

我正在尝试启用对 Docker 远程 API 的非 TLS 访问,因此我可以使用在 Windows 上运行的 Postman REST 客户端并点击在 VirtualBox 中的 docker-machine 上运行的 docker API。我发现,如果包含 Docker 配置-H tcp://0.0.0.0:2375,那么可以将 API 暴露在 docker 机器的端口 2375 上,但是对于我来说,我无法找到该配置的存储位置并且可以更改。

我是docker-machine ssh从 Toolbox CLI 开始的,然后去/etc/init.d/docker查看文件,但没有对文件进行任何更改docker-machine restart

我能够为 Ubuntu 和 OSX 找到这个问题的答案,但对于 Windows 却没有。

0 投票
1 回答
639 浏览

linux - 何时以及何时不在 Docker Remote API 中使用 tty

主要问题

  • curl用来运行我的请求。使用邮递员运行请求似乎在启用或禁用 TTY 之间没有太大区别。
  • Stderr 在启用 TTY 时显示,但在禁用 TTY 时不显示。两者的 AttachStderr 都设置为 true(使用curl)。
  • 标准输出在启用 TTY 的情况下“不完整”(使用curl)。

==========================================

我正在努力弄清楚何时使用 Docker Remote API 分配伪 tty,何时不分配。输出是非常不同的(取决于是否有错误,以及我不太明白的其他事情)。

我正在使用 curl 来执行我的请求。

例子:

没有 TTY:

这输出:bin boot dev etc exports home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

Tty: true输出 相同的命令boot etc home lib64 mnt proc run srv tmp varsr

但是,如果我尝试做一些会产生错误的事情:

没有 TTY:

没有 TTY,我看不到任何输出。

使用 TTY:ls: cannot access '/non/existant/path': No such file or directory

这是怎么回事?

谢谢你。

0 投票
1 回答
2043 浏览

docker - 是否存储了 docker Remote API 日志?

我在 OpenSuse Leap 42.1 上有 Docker。我已经设置了远程 API。我在哪里可以看到远程 API 服务的日志/STDOUT?特别是指示 API 调用的日志,例如 GET 和 POST 调用。

我使用以下方法检查了 docker 服务日志:

journalctl -u docker.service

但这仅表明 API 正在侦听端口。实际上并不显示有关正在拨打的电话的信息。

time="2016-10-31T17:44:07.170795338Z" level=info msg="API listen on /var/run/docker.sock"

当我直接运行 docker 守护程序时,我能够在 STDOUT 中看到 REST API 信息。我猜它没有将 STDOUT 存储到日志中。

0 投票
2 回答
1376 浏览

docker - Docker API 启动容器返回 404

我尝试通过 Docker 远程 API 控制 Docker 服务器。

类似的命令

或者

工作得很好。但是一旦我尝试启动,停止或重新启动容器

我收到 404 错误消息{"message":"page not found"}

我正在使用 docker 1.12.1 和 API 1.24。

先感谢您!

0 投票
1 回答
244 浏览

docker - Docker 服务已更新时间戳

Docker Swarm API 客户端具有以下服务元信息:

这是最后一次用户启动的时间戳update(例如更改服务配置)还是服务更改的时间戳即使是 Docker Swarm 也会执行?

例如,如果我的 swarm 服务有 5 个任务分布在集群中,然后 Docker 出于某种原因将一个任务从一个节点移动到另一个节点(因此服务配置不会更改);它会更新这个字段吗?

0 投票
1 回答
4195 浏览

docker - 不存在“Access-Control-Allow-Origin”标头 - Docker 远程 API

我在使用 Docker 远程 API 时不断收到 CORS 错误。

正如 Docker 文档所提到的,我确实设置了标志:

我仍然没有看到Access-Control-Allow-Origin: *响应标头上设置的标头。

我正在使用 Docker 1.13 实验版。

  • Docker-实验:真
  • 服务器:Docker/1.13.0-rc3 (linux)

这是我的 API 版本:

我在这里错过了什么吗?

0 投票
2 回答
5619 浏览

go - 为 docker api 的 golang sdk 中的 ContainerCreate 函数设置 PortBindings 配置

基本上我需要这样的东西

在 docker api 的 golang sdk(这个https://docs.docker.com/engine/api/sdks/)中,我当前的代码如下所示

我正在使用这个https://github.com/docker/go-connections/blob/master/nat/nat.go#L126 ParsePortSpecs 函数返回 (map[Port]struct{}, map[Port][]PortBinding ,错误)但失败,因为 container.Config.ExposedPorts 是 nat.PortSet (它实际上是 map[Port]struct{} tho)并且 container.HostConfig.PortBindins 是 nat.PortMap

我不确定我是否要使用此客户端https://github.com/fsouza/go-dockerclient因为我当前的 docker API 版本是 1.25,它不支持 1.23 以上的 API 版本

0 投票
1 回答
47 浏览

docker - 无法使用 Docker API 检索我的 Docker 容器的统计信息

我有几个容器在我的 Centos7 虚拟机上运行,​​我想使用以下命令检索它们的 CPU 和内存使用情况:

但是,我只收到以下消息,没有任何统计信息:

HTTP/1.0 200 正常

服务器:Docker/1.10.3 (linux)

日期:2017 年 1 月 22 日星期日 15:53:49 GMT

内容类型:文本/纯文本;字符集=utf-8

“containers/(container_name)/top” 命令工作正常。

你能帮我理解为什么我没有收到这个容器的统计信息吗?

0 投票
1 回答
125 浏览

docker - Docker 容器使用

我正在使用 Kubernetes 运行 docker。

我需要找出用户最后一次使用 docker 容器的时间。我正在为每个用户创建一个容器。如果用户在特定时间内没有与容器交互,我必须终止该容器。

目前,我在 docker 容器中运行一个守护进程,它检查最后修改的文件并发送信息。

是否有相同的 docker/kubernetes API?

0 投票
1 回答
174 浏览

docker - Is it possible to create an image from a file on a Docker host using the Docker API?

I'm trying to create a Docker image from a file on a Docker host using the Python docker API. The client is running on a different host, so I would like to avoid downloading a file to the client and then uploading it to the Docker host.

This test:

produces the following output:

The Docker daemon 1.13 is running on a Ubuntu 16.04 (Xenial Xerus) VM on an ESXi 6 host. The client is a Docker Python API 2.0.2 running on a physical Windows 10 host.