Igg*_*ass 5 docker windows-10 wsl-2
我想使用 rsync 将 Docker 映像从 Windows10 PC 传输到另一台 Fedora。我无法使用 WSL,我需要 WSL2,正如编译器所说:
ubu@DESKTOP-QL4RO3V:/mnt/c/Windows/system32$ docker images                                                                                                                                                                                      
The command 'docker' could not be found in this WSL 1 distro.                                                           
We recommend to convert this distro to WSL 2 and activate                                                               
the WSL integration in Docker Desktop settings.                                                                                                                                                                                                 
For details about using Docker Desktop with WSL 2, visit:                                                                                                                                                                                       
https://docs.docker.com/go/wsl2/ 
但我认为由于我有 Docker 桌面,它正在使用 WSL2:
但我不知道如何运行我自己使用的 wsl2 Docker。
PS C:\Users\antoi> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         1
  docker-desktop-data    Running         2
  docker-desktop         Running         2
Docker Desktop 镜像、容器和卷存储在特殊的docker-desktop-data. 正如这个超级用户问题和我的答案中所指出的,docker-desktop-data不可启动(根据设计)。
如果您确实必须访问文件系统,我已经记录了一种方法。但一般来说,您不需要这样做。
相反,请使用普通docker命令(来自 WSL2、PowerShell 或 CMD)将图像保存到文件中,如本答案tar中所述:
docker save -o <image.tar> <image_name>
然后使用 或其他方式传输文件rsync,并在目标计算机上通过以下方式导入:
docker load -i <image.tar>
同样,这是来自 WSL2、PowerShell 或 CMD。但在您的例子中,Ubuntu 实例是 WSL1。这对 Docker 不起作用。您需要将其转换为 WSL2。
以防万一,我始终建议在转换实例之前对其进行备份。来自 PowerShell:
wsl --export Ubuntu ubuntu_backup.tar
然后,一旦你有了备份:
wsl --set-version Ubuntu 2
wsl --set-default-version 2 # if desired
转换后,在 Ubuntu 中运行时不应看到该错误docker。
旁注 - Docker Desktop 将该docker命令“注入”到您在“设置”中的“WSL 集成”选项卡中设置的任何 WSL2 实例中。这应该默认为您的“默认”WSL2 实例,(从您的屏幕截图来看)是 Ubuntu。“真正的”docker命令在里面docker-desktop,但它已为您链接到 Ubuntu 中。
因此,默认情况下,您的实例中应该docker直接拥有所有功能Ubuntu。和docker-desktop都不docker-desktop-data是为最终用户直接使用而设计的。
| 归档时间: | 
 | 
| 查看次数: | 4083 次 | 
| 最近记录: |