最近使用Docker环境测试程序,跑了两个模型之后发现还剩下180G的C盘直接爆掉。一顿狂搜,发现目前的Docker直接使用双击exe是不可以选择安装位置的。一顿搜索,有的人使用软连接,有的人修改wsl的目录位置。但其实Docker官方安装指南已经支持不同位置安装了就一句命令十分简单。为大家提供相关操作说明(来源:https://docs.docker.com/desktop/install/windows-install/#install-docker-desktop-on-windows)。
如果你之前已经安装了建议使用标准卸载方式进行卸载。然后我们使用从命令行安装的方式:
打开Windows cmd,去到你exe的位置,使用以下命令就可以完成在目标路径安装Docker desktop,以及设置相关docker数据存储路径。
start /w "" "Docker Desktop Installer.exe" install --accept-license --installation-dir="Path\you\want" --wsl-default-data-root="Path\you\want" --windows-containers-default-data-root="Path\you\want"
如果是Powershell,命令如下:
Start-Process 'Docker Desktop Installer.exe' -Wait install
如果是终端,命令如下:
"Docker Desktop Installer.exe" install
其中--wsl-default-data-root 设置的是你未来要用的linux环境所有数据保存的位置。--windows-containers-default-data-root设置的是你未来要用的windows环境所有数据保存的位置。
另外,Docker官方安装还提供了很多额外的参数命令,我本人没有使用过也并不太理解具体都是什么意思,但大致如下:
--quiet: 在运行安装程序时抑制信息输出。
--accept-license: 接受 Docker 订阅服务协议,无需在首次运行应用程序时接受。
--no-windows-containers: 禁用 Windows 容器集成。
--allowed-org=<组织名称>: 要求用户在运行应用程序时登录并成为指定 Docker Hub 组织的一部分。
--backend=<后端名称>: 选择 Docker Desktop 的默认后端,选项包括 hyper-v、windows 或 wsl-2(默认)。
--installation-dir=<路径>: 更改默认安装位置(C:\Program Files\Docker\Docker)。
--admin-settings: 自动创建一个 admin-settings.json 文件,供管理员控制组织内客户机上的某些 Docker Desktop 设置。更多信息参见设置管理。此选项必须与 --allowed-org=<组织名称> 标志一起使用。例如:
--allowed-org=<组织名称> --admin-settings='{"configurationFileVersion": 2, "enhancedContainerIsolation": {"value": true, "locked": false}}'
--proxy-http-mode=<模式>: 设置 HTTP 代理模式,选项包括 system(默认)或 manual。
--override-proxy-http=<URL>: 设置必须用于传出 HTTP 请求的 HTTP 代理 URL,需将 --proxy-http-mode 设置为 manual。
--override-proxy-https=<URL>: 设置必须用于传出 HTTPS 请求的 HTTPS 代理 URL,需将 --proxy-http-mode 设置为 manual。
--override-proxy-exclude=<主机/域>: 为指定的主机和域绕过代理设置,使用逗号分隔的列表。
--proxy-enable-kerberosntlm: 启用 Kerberos 和 NTLM 代理身份验证。如果启用此功能,请确保你的代理服务器已正确配置为支持 Kerberos/NTLM 身份验证。此功能适用于 Docker Desktop 4.32 及更高版本。
--hyper-v-default-data-root=<路径>: 指定 Hyper-V 虚拟机磁盘的默认位置。
--windows-containers-default-data-root=<路径>: 指定 Windows 容器的默认位置。
--wsl-default-data-root=<路径>: 指定 WSL 发行版磁盘的默认位置。
--always-run-service: 安装完成后启动 com.docker.service,并将服务启动类型设置为自动。这绕过了启动 com.docker.service 时通常需要的管理员权限。com.docker.service 对 Windows 容器和 Hyper-V 后端是必需的。
参考来源:How to install Docker Desktop on a different drive (location) on Windows - Stack Overflow