这是因为在Docker中,容器的标准输入、输出和错误输出是通过管道(pipe)进行交互的。当使用ContainerAttach方法时,它会返回一个连接(Connection),这个连接是一个双向的管道,可以用来发送命令和接收输出。当我们使用Read方法从连接中读取数据时,它会返回上一个输入的命令行,而不是命令行运行后的结果,因为命令行的结果是通过管道发送到连接中的,而不是直接返回给调用方的。如果要获取命令行运行后的结果,需要使用类似于ContainerExec方法的方法来执行命令并获取结果。

docker sdk中的ContainerAttach方法中通过Read方法得到的不是命令行运行后的结果而是上一个输入的命令行这是为什么

原文地址: https://www.cveoy.top/t/topic/dx5G 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录