golang ocker sdk中的ContainerAttach方法返回的不是命令行运行后的结果而是上一个输入的命令行如何获取命令行在容器运行后的结果还有重复调用ContainerAttach方法会报错之前的exec任务仍然存在如何解决没有ContainerRemove方法怎么可能提前知道execId调用ContainerExecInspect方法
要获取命令行在容器运行后的结果,可以使用ContainerLogs方法。该方法返回一个io.ReadCloser,可以从中读取容器的输出。
关于重复调用ContainerAttach方法会报错之前的exec任务仍然存在的问题,可以使用ContainerExecInspect方法获取exec任务的状态,然后根据状态进行处理。如果exec任务已经完成,则可以使用ContainerExecRemove方法删除该任务。
如果没有ContainerRemove方法,可以使用ContainerKill方法强制停止容器,并在必要时使用ContainerPrune方法清理未使用的容器。
原文地址: https://www.cveoy.top/t/topic/dBlp 著作权归作者所有。请勿转载和采集!