无法通过 docker-sdk golang 连接到 Docker 守护进程

问题描述

Docker 正在运行,ContainerExecCreate 创建了一个容器,但是 ContainerExecAttach 返回:无法连接到 unix 上的 Docker 守护进程://var/run/docker.sock 作为响应。 docker 守护进程是否正在运行?

可能是什么问题。

import (
    "archive/tar"
    "bytes"
    "context"
    "fmt"
    "io"
    "io/ioutil"
    "log"
    "net"
    "os"
    "strconv"
    "strings"
    "time"

    client "docker.io/go-docker"
    "docker.io/go-docker/api/types"
    "docker.io/go-docker/api/types/container"
    "docker.io/go-docker/api/types/network"
    "docker.io/go-docker/api/types/swarm"
    "docker.io/go-docker/api/types/volume"
    "github.com/containerd/containerd/reference"
    "github.com/play-with-docker/play-with-docker/config"
)

func (d *docker) ExecAttach(instanceName string,command []string,out io.Writer) (int,error) {
    e,err := d.c.ContainerExecCreate(context.Background(),instanceName,types.ExecConfig{Cmd: command,AttachStdout: true,AttachStderr: true,Tty: true})
    if err != nil {
        return 0,err
    }
    resp,err := d.c.ContainerExecAttach(context.Background(),e.ID,types.ExecConfig{AttachStdout: true,err
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)