网络和虚拟机常见问题
目录
如何限制容器的互联网访问?
Docker Desktop 没有内置机制,但您可以使用主机上的进程级防火墙。将规则应用于 `com.docker.vpnkit` 用户空间进程,以控制其连接位置(DNS 允许列表、数据包过滤器)以及可以使用哪些端口/协议。
对于企业环境,请考虑使用气隙容器,它们提供容器的网络访问控制。
我能否将防火墙规则应用于容器网络流量?
是的。Docker Desktop 使用用户空间进程 (`com.docker.vpnkit`) 进行网络连接,该进程继承了启动它的用户的约束,例如防火墙规则、VPN 设置和 HTTP 代理属性。
适用于 Hyper-V 的 Windows 版 Docker Desktop 是否允许用户创建其他虚拟机?
否。`DockerDesktopVM` 名称在服务中是硬编码的,因此您不能使用 Docker Desktop 创建或操作其他虚拟机。
Docker Desktop 如何通过 Hyper-V 和 WSL 2 实现网络隔离?
Docker Desktop 对 WSL 2(在 `docker-desktop` 分发版中)和 Hyper-V(在 `DockerDesktopVM` 中)使用相同的虚拟机进程。主机/虚拟机通信使用 `AF_VSOCK` 管理程序套接字(共享内存),而不是网络交换机或接口。所有主机网络都使用 `com.docker.vpnkit.exe` 和 `com.docker.backend.exe` 进程的标准 TCP/IP 套接字执行。
有关更多信息,请参阅Docker Desktop 网络工作原理揭秘。