我在 Windows 10 上有一个 Docker,它使用 Ubuntu 20、WSL2……但它非常慢。我尝试在 .wslconfig 文件中设置配置,如下所示
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
memory=8GB
# Sets the VM to use two virtual processors
processors=4
# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=12GB
我的电脑有 16GB RAM,所以我设置了 12GB,但 docker desctop 仍然显示 4GB。我该怎么做才能提高性能?
这是有关docker desctop中配置的唯一信息。
答案1
在这种情况下,问题不是内存。问题在于整个项目供应商目录都在卷中。从卷中删除供应商后,一切正常。
答案2
我在使用 Docker 桌面和 WSL2 的 Windows 10/11 中遇到了类似的性能缓慢问题。我的解决方案是,当我们将物理卷映射到容器卷时,物理卷应该位于 WSL 文件系统内(/mnt 除外)。
例如在我的docker-compose.yaml中,我有一行
volumes:
- /var/www/vhosts:/var/www/html
这 ”/var/www/虚拟主机“位于 WSL 文件系统内。一旦我按照这种方式配置,我的应用程序就会运行得非常快。