1

我尝试通过Docker.DotNet版本 2.1.0.3(38240) 使用 docker 与 AWS Cloud 运行集成测试。

但是,每当第二次调用 StartContainerAsync() 时,它都会失败并出现 OperationCanceledException。

以下是重现该问题的步骤:

我尝试了 localstack/localstack 和 dynamodb-local 图像,但使用哪些图像与我认为的错误无关。

  1. 从 Docker CLI 拉取图像 运行一个控制台应用程序,它会进行以下调用
  2. 调用 _dockerClient.Containers.CreateContainerAsync()
  3. 调用 _dockerClient.Containers.StartContainerAsync()
  4. 调用 _dockerClient.Containers.StopContainerAsync()
  5. 调用 _dockerClient.Containers.RemoveContainerAsync()
  6. 调用 _dockerClient.Containers.CreateContainerAsync()
  7. Call _dockerClient.Containers.StartContainerAsync() // 程序会在这里失败。

或者

  1. 第一次从 Docker CLI 运行控制台应用程序中拉取图像,这会进行以下调用
  2. 调用 _dockerClient.Containers.CreateContainerAsync()
  3. Call _dockerClient.Containers.StartContainerAsync() // 程序会在这里失败。

StartContainerAsync() 只要第二次运行就会失败。它不必在同一个过程中。然后 docker desktop 将进入无响应状态,要修复它,我必须将 docker 重置为出厂默认设置,如果只是尝试重新启动 docker 会得到“等待生命周期服务器启动超时”错误。

这种行为在两台不同的物理机器中重复出现。

感谢您提供任何帮助。

我正在使用 Windows 10 Pro、Visual Studio 16.3.1 和 Docker Desktop 版本 2.1.0.3(38240)

4

1 回答 1

0

原来这个问题是由我的VPN软件Astrill引起的,一旦我卸载了它的LSP。该程序现在运行良好。

我的台式机和笔记本电脑上都安装了相同的软件。这就是为什么这种行为在两台机器上都重复的原因。

于 2019-10-09T23:50:52.913 回答