如何连接到 docker/engine-api 中的远程套接字?
How to connect to a remote socket in docker/engine-api?
我想检索远程机器的所有 docker 个图像,所以我使用 docker/engine-api:https://github.com/docker/engine-api
我成功返回了本地机器的 docker 图像
使用以下代码:
package main
import (
"fmt"
"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
"golang.org/x/net/context"
)
func main() {
defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"}
cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders)
if err != nil {
panic(err)
}
options := types.ContainerListOptions{All: true}
containers, err := cli.ContainerList(context.Background(), options)
if err != nil {
panic(err)
}
for _, c := range containers {
fmt.Println(c.ID)
}
}
但是现在有人知道如何根据远程计算机的地址、用户名和密码检索 docker 图像吗
那种Unix套接字只能通过同一台机器上的进程访问。
要从远程计算机访问您的 docker,您需要 运行 通过 ip 对它进行特殊配置 运行。
这个配置是DOCKER_OPTS="-H <ip_address>:<port>"
(或者-H 0.0.0.0:<port>
,如果你想让它在所有接口上监听),这取决于你运行宁docker的版本你必须在哪里配置它。
Here 您可以根据操作系统版本找到更多关于在哪里配置 DOCKER_OPTS 的信息。
希望对您有所帮助!
我想检索远程机器的所有 docker 个图像,所以我使用 docker/engine-api:https://github.com/docker/engine-api
我成功返回了本地机器的 docker 图像 使用以下代码:
package main
import (
"fmt"
"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
"golang.org/x/net/context"
)
func main() {
defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"}
cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders)
if err != nil {
panic(err)
}
options := types.ContainerListOptions{All: true}
containers, err := cli.ContainerList(context.Background(), options)
if err != nil {
panic(err)
}
for _, c := range containers {
fmt.Println(c.ID)
}
}
但是现在有人知道如何根据远程计算机的地址、用户名和密码检索 docker 图像吗
那种Unix套接字只能通过同一台机器上的进程访问。
要从远程计算机访问您的 docker,您需要 运行 通过 ip 对它进行特殊配置 运行。
这个配置是DOCKER_OPTS="-H <ip_address>:<port>"
(或者-H 0.0.0.0:<port>
,如果你想让它在所有接口上监听),这取决于你运行宁docker的版本你必须在哪里配置它。
Here 您可以根据操作系统版本找到更多关于在哪里配置 DOCKER_OPTS 的信息。
希望对您有所帮助!