Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang Docker API-尾部容器日志_Docker_Go - Fatal编程技术网

Golang Docker API-尾部容器日志

Golang Docker API-尾部容器日志,docker,go,Docker,Go,我使用Go和Docker的API来提取一个图像,然后创建并执行一个容器。具体来说,我使用的是图像。我可以看到它实际上是在Kitematic中执行的,所以我知道所有的设置都是正确的。但是,我的Go应用程序没有附加并跟踪正在输出的日志 我已经看到了,它引用了似乎是附加到图像和查看日志的方式。不管我怎么做,我似乎都无法让它工作 attachToContainerOptions := docker.AttachToContainerOptions{ Container: container.ID

我使用Go和Docker的API来提取一个图像,然后创建并执行一个容器。具体来说,我使用的是图像。我可以看到它实际上是在Kitematic中执行的,所以我知道所有的设置都是正确的。但是,我的Go应用程序没有附加并跟踪正在输出的日志

我已经看到了,它引用了似乎是附加到图像和查看日志的方式。不管我怎么做,我似乎都无法让它工作

attachToContainerOptions := docker.AttachToContainerOptions{
    Container: container.ID,
    OutputStream: os.Stdout,
    ErrorStream:  os.Stderr,
    Logs: true,
    Stdout: true,
    Stderr: true,
}
if err := client.AttachToContainer(attachToContainerOptions); err != nil {
    panic(err)
} 
没有错误发生,但是这个立即传递,没有任何流传输到控制台。在docker cmd完成之前,如何将其流式传输到控制台?

并且该映像的容器生命周期是短暂的。相反,请尝试获取结果日志

下面是一个代码示例:

logsOptions := docker.LogsOptions{
    Container:    container.ID,
    OutputStream: os.Stdout,
    ErrorStream:  os.Stderr,
    Follow:       true,
    Stdout:       true,
    Stderr:       true,
}
if err := client.Logs(logsOptions); err != nil {
    panic(err)
}
该映像的容器生命周期是短暂的。相反,请尝试获取结果日志

下面是一个代码示例:

logsOptions := docker.LogsOptions{
    Container:    container.ID,
    OutputStream: os.Stdout,
    ErrorStream:  os.Stderr,
    Follow:       true,
    Stdout:       true,
    Stderr:       true,
}
if err := client.Logs(logsOptions); err != nil {
    panic(err)
}

这是正确的解决方案,我添加了一个代码示例,因为我没有看到一个在线示例作为工作示例。这是正确的解决方案,我添加了一个代码示例,因为我没有看到一个在线示例作为工作示例。