我尝试通过Docker.DotNet版本 2.1.0.3(38240) 使用 docker 与 AWS Cloud 运行集成测试。
但是,每当第二次调用 StartContainerAsync() 时,它都会失败并出现 OperationCanceledException。
以下是重现该问题的步骤:
我尝试了 localstack/localstack 和 dynamodb-local 图像,但使用哪些图像与我认为的错误无关。
- 从 Docker CLI 拉取图像 运行一个控制台应用程序,它会进行以下调用
- 调用 _dockerClient.Containers.CreateContainerAsync()
- 调用 _dockerClient.Containers.StartContainerAsync()
- 调用 _dockerClient.Containers.StopContainerAsync()
- 调用 _dockerClient.Containers.RemoveContainerAsync()
- 调用 _dockerClient.Containers.CreateContainerAsync()
- Call _dockerClient.Containers.StartContainerAsync() // 程序会在这里失败。
或者
- 第一次从 Docker CLI 运行控制台应用程序中拉取图像,这会进行以下调用
- 调用 _dockerClient.Containers.CreateContainerAsync()
- Call _dockerClient.Containers.StartContainerAsync() // 程序会在这里失败。
StartContainerAsync() 只要第二次运行就会失败。它不必在同一个过程中。然后 docker desktop 将进入无响应状态,要修复它,我必须将 docker 重置为出厂默认设置,如果只是尝试重新启动 docker 会得到“等待生命周期服务器启动超时”错误。
这种行为在两台不同的物理机器中重复出现。
感谢您提供任何帮助。
我正在使用 Windows 10 Pro、Visual Studio 16.3.1 和 Docker Desktop 版本 2.1.0.3(38240)