要在Golang中接入Docker,并指定IP地址和端口,你可以使用Docker SDK for Go来实现。以下是一个简单的示例代码:
首先,确保已经安装了docker
和docker-compose
命令行工具。
然后,在Go项目中引入github.com/docker/docker/client
包,并创建一个Docker客户端对象:
package main
import (
"context"
"fmt"
"github.com/docker/docker/api/types"
"github.com/docker/docker/client"
)
func main() {
cli, err := client.NewClientWithOpts(client.WithHost("tcp://<DOCKER_HOST>:<DOCKER_PORT>"))
if err != nil {
panic(err)
}
ctx := context.Background()
// 获取正在运行的容器列表
containers, err := cli.ContainerList(ctx, types.ContainerListOptions{})
if err != nil {
panic(err)
}
for _, container := range containers {
fmt.Println(container.ID, container.Names)
}
}
请将 <DOCKER_HOST>
替换为 Docker 守护进程的 IP 地址或域名,将 <DOCKER_PORT>
替换为 Docker 守护进程的监听端口(默认是 2375)。
通过调用 client.ContainerList()
方法,你可以获取正在运行的容器列表,并对其进行操作。
需要注意的是,访问 Docker 的 API 需要相应的权限,如果没有权限则需要配置正确的证书和认证信息。
这只是一个简单示例,请根据实际需求进行适当修改和扩展。
内容由零声教学AI助手提供,问题来源于学员提问