我在3台机器上创建了一个docker swarm管理器节点 - 一台Windows 10机器和2台Ubuntu机器。在Windows 10和其中一台Ubuntu机器上工作正常。但是在最后一台机器(Ubuntu 16.04,Linode上的虚拟机器)安装完所有内容之后,按照here的说明并使用docker-ce版本17.06.0~ce-0~ubuntu,我无法启动任何机器正确地进行服务或堆栈 - 所有服务/堆栈容器在一秒钟内关闭。没有来自容器本身的日志 - 它们似乎在它们开始后立即停止。如果restart_policy设置为on-failure容器,就像疯了一样启动和关闭。副本设置为1(默认值)。启动任何服务,然后使用
检查服务状态docker service ps *service-name*
在最右边的列中显示错误
starting container failed: su…
除了swarm docker之外,运行正常 -
docker run hello-world
产生所需的输出。那么通过docker run启动的任何其他容器也是如此。
答案 0 :(得分:0)
似乎问题在于Linode默认使用自己签名的内核,这也会给其他人带来问题。这是因为在检查堆栈网络时,大多数选项似乎都设置为null。进一步的搜索表明,Linode的内核存在问题,导致群组网络失败。
要防止出现此类问题,您可以通过编辑相关计算机并将其内核设置为GRUB2来使用默认内核。大量有用的信息here。