繁体   English   中英

如何从ansible控制节点(Mac机)ping docker容器

[英]How to ping docker container from ansible control node (Mac machine )

我在 windows 10 主机中有 windows docker 容器,我可以从 docker 主机 ping docker 容器,但是我无法从网络中的 mac 机器 ping windows 容器(都连接在同一个路由器中),我可以从 mac 机器 ping windows10 主机。

我在这个实验中的主题我需要用 Ansible 配置 windows 容器,无法实现,因为我无法从 Mac ping windows 容器(Ansible 安装在其中)。

悲伤的消息

Windows 目前不支持以下网络选项:

  • 连接到 l2bridge、NAT 和覆盖网络的 Windows 容器不支持通过 IPv6 堆栈进行通信。
  • 通过 IPsec 加密容器通信。
  • 容器的 HTTP 代理支持。
  • 主机模式组网
  • 通过透明网络驱动程序在虚拟化 Azure 基础结构上联网。

https://docs.microsoft.com/en-us/virtualization/windowscontainers/container-networking/architecture#unsupported-features-and-network-options

这转化为:您的 Windows 容器,不像 Linux 容器,不能使用主机模式。 因此,您的 mac 连接到的物理网络无法使用您的 Windows 容器。


您可以像在 Linux 上一样通过以下方式在 Windows 上公开容器的端口

docker run -p 80:80 nginx

并使用暴露的端口从 Windows 主机访问容器。 在上面的例子中localhost:80

但是,您无法从外部连接到 Windows 容器,因为端口映射仅适用于localhost如文档中所述:https ://docs.docker.com/config/containers/container-networking/


在您的 ansible 清单中使用堡垒主机是一种选择,但不适用于 winRM。 在 Windows 上安装开放的 ssh 服务器也不是选项,因为 Jordan Borean 的博客文章称它为

仍然相当有问题,目前还没有

https://www.bloggingforlogging.com/2018/10/14/windows-host-through-ssh-bastion-on-ansible/


所以,你可以做什么?

  • 在 Windows 服务器上运行您选择的代理以将流量转发到您的容器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM