美文网首页js css htmlit
将Docker Desktop(WSL 2 方式)文件存储移出系

将Docker Desktop(WSL 2 方式)文件存储移出系

作者: 生信石头 | 来源:发表于2022-04-21 15:24 被阅读0次

    默认情况下,Docker Desktop for Window会创建如下两个发行版(distro):
    docker-desktop:用于存放程序
    docker-desktop-data:用于存放镜像

    如果访问%LOCALAPPDATA%/Docker/wsl目录,就可以看到两个文件夹,同时每个文件夹中都会有一个vhdx文件。

    'data/ext4.vhdx'被docker-desktop-data 发行版使用;
    'distro/ext4.vhdx'被 docker-desktop 发行版使用;
    docker-desktop-data 是被用来存储docker images 以及相关的数据。因此,它的大小会随着使用逐步增长,因此导致系统盘空间不足。

    解决方法

    1、删除所有容器

    ps: 可以试试命令

    docker rm `docker ps -a -q`
    

    ①查看所有容器:
    cmd运行docker ps -a
    ②删除已部署容器
    cmd运行docker rm 容器id或者直接打开docker 在Containers/Apps里面删除所有容器
    ③再次检查容器是否删除干净
    docker ps -a

    2、退出Docker Desktop

    3、使用cmd关闭所有发行版

    wsl --shutdown

    4、检查是否所有发行版都已经关闭

    wsl --list --verbose

    如下状态都为Stopped则都已关闭

    5、备份已有image数据

    ①创建文件夹,目录根据自己实际情况指定。(本人使用D:\docker)。
    ②通过下面命令,将已有的数据,以tar格式备份已有数据到指定目录(D:\docker)
    wsl --export docker-desktop-data D:\docker\docker-desktop-data.tar

    wsl --export docker-desktop D:\docker\docker-desktop.tar

    'docker-desktop-data'与'docker-desktop'就是第4步中,列举出来的用于存放镜像和程序的发行版本。

    6、注销当前的发行版

    wsl --unregister docker-desktop-data

    wsl --unregister docker-desktop

    该命令执行完成之后,再次使用wsl --list --verbose命令查看,'docker-desktop-data'与'docker-desktop'就已经不在了。

    7、重新导入备份的'docker-desktop-data'与'docker-desktop'

    wsl --import docker-desktop-data D:\docker\data D:\docker\docker-desktop-data.tar --version 2

    wsl --import docker-desktop D:\docker\docker-desktop D:\docker\docker-desktop.tar --version 2

    命令执行完成后使用wsl --list --verbose命令查看,皆已恢复。

    'D:\docker\data'与'D:\docker\docker-desktop'即指定vhdx新的放置目录。
    'D:\docker\docker-desktop-data.tar'与'D:\docker\docker-desktop.tar'指定第5步中备份的数据

    8、重新运行Docker Desktop

    Docker Desktop 运行成功之后,查看新目录中的vhdx的修改时间,如果修改时间是最新时间,就说明配置成功。

    相关文章

      网友评论

        本文标题:将Docker Desktop(WSL 2 方式)文件存储移出系

        本文链接:https://www.haomeiwen.com/subject/gbgiertx.html