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