网络和 VM 常见问题解答
目录
如何限制容器运行时允许的 Internet 访问类型,以防止其泄露数据或下载恶意代码?
没有内置机制,但可以通过主机上的进程级防火墙来解决。钩入com.docker.vpnkit
user-space 进程并应用规则,使其可以连接到的位置(DNS URL 白名单;数据包/有效负载过滤器)以及允许它使用的端口/协议。
我可以阻止用户在 0.0.0.0 上绑定端口吗?
没有直接的方法可以通过 Docker Desktop 强制实施该作,但它会继承主机上强制实施的任何防火墙规则。
有哪些选项可用于将容器化网络设置锁定到系统?如果不支持,作设置是否有任何后果?
Docker 网络设置在 VM 中完全是本地的,对系统没有影响。
我能否通过本地防火墙或 VPN 客户端对容器网络流量应用规则?
对于网络连接,Docker Desktop 使用用户空间进程 (com.docker.vpnkit
),它从启动它的用户那里继承了防火墙规则、VPN、HTTP 代理属性等约束。
使用 Hyper-V 后端运行适用于 Windows 的 Docker Desktop 是否允许用户创建任意 VM?
不。这DockerDesktopVM
name 在服务代码中是硬编码的,因此您无法使用 Docker Desktop 创建或作任何其他 VM。
在 Mac 上使用 Docker Desktop 时,是否可以阻止我们的用户创建其他 VM?
在 Mac 上,启动 VM 是一项非特权作,因此 Docker Desktop 不会强制执行。
使用 Hyper-V 和/或 WSL2 时,Docker Desktop 如何实现网络级隔离?
两个 WSL 2(在docker-desktop
发行版)和 Hyper-V(在DockerDesktopVM
).主机/VM 通信用途AF_VSOCK
虚拟机管理程序套接字 (共享内存)。它不使用 Hyper-V 网络交换机或网络接口。所有主机联网都使用com.docker.vpnkit.exe
和com.docker.backend.exe
过程。有关更多信息,请参阅 Docker Desktop 网络的工作原理。