【问题标题】:Fail to start tasks/services in Docker Swarm: hnsCall failed in Win32: The parameter is incorrect在 Docker Swarm 中启动任务/服务失败: hnsCall 在 Win32 中失败:参数不正确
【发布时间】:2018-12-05 17:02:20
【问题描述】:

我正在尝试Docker Get Started tutorial, Part 3 (Services)。所以我需要初始化一个 swarm 和部署一个堆栈的部分,我所有的服务状态都被拒绝了:

完整的错误(使用--no-trunc)是:

hnsCall 在 Win32 中失败:参数不正确。 (0x57)

这是我正在做的步骤:

  • 确保我的图像正确(docker run 运行良好,我成功访问了localhost:4000)。然后我停止容器以确保它不会干扰。

  • 当我初始化 swarm 时,它说我有多个地址,所以我使用 --advertise-addr 选择了一个随机地址(我尝试了其中任何一个,结果相同)。

  • docker stack deploy 有效,但是当我使用docker service ps 检查状态时,它们都没有启动。 localhost:4000 没有监听器。

  • 注意:我将 Docker 切换到了 Windows 容器。

我是 Docker 新手,这超出了我的范围。任何人都可以提出解决方案/调试方式吗?

【问题讨论】:

  • 你在windows容器内执行docker run吗?
  • @SvenHakvoort 抱歉,不确定您所说的“内部”是什么意思。我从我的真实 PC 运行上述所有命令。是的,它是一个 Windows,Docker 设置为 Windows 容器。
  • docker 容器是什么意思?一个虚拟机?或者你是在你的电脑上运行 docker,然后在其中启动一个 windows 容器,然后再次运行 docker?
  • 对不起,让我再次解释一下:我正在运行一台 Windows PC(真正的,没有 VM 或任何东西)。当 Docker 运行时,系统托盘中有一个图标,我用它来运行“切换到 Windows 容器”选项(所以现在,Docker 正在 Windows 模式下运行,选项现在显示“切换到 Linux 容器”)跨度>
  • 这取决于您的用例是什么,为什么要使用 Windows 容器?

标签: windows docker docker-compose docker-swarm


【解决方案1】:

我尝试了所有方法,但无法让它在 Windows 容器上运行,所以我切换到 Linux 容器。入门第 3 部分运行良好。

【讨论】:

  • 但是如果我们想运行 Windows 容器呢?
  • 我上次尝试的时候不行。不得不接受我猜的。
猜你喜欢
  • 2016-12-30
  • 1970-01-01
  • 2021-06-18
  • 1970-01-01
  • 2017-07-22
  • 1970-01-01
  • 2020-06-28
  • 2023-01-25
相关资源
最近更新 更多