AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 975980
Accepted
Miguel
Miguel
Asked: 2019-07-20 11:07:39 +0800 CST2019-07-20 11:07:39 +0800 CST 2019-07-20 11:07:39 +0800 CST

如何将 docker 图像移动到 Windows 中的其他驱动器

  • 772

我尝试运行以下脚本,但dockerd在我的工作站中无法识别。

我的操作系统是 windows 10。刚刚安装了最新版本的 docker 18.09.2

这是我第一次接触 docker。

windows
  • 3 3 个回答
  • 30670 Views

3 个回答

  • Voted
  1. Maskim
    2020-07-16T05:17:46+08:002020-07-16T05:17:46+08:00

    这个答案更像是Jean-François Beauchamp 的答案的补充:您可以在Docker 的文档
    中找到有关此配置文件的完整文档。

    说明:

    --data-root是存储持久数据(如图像、卷和集群状态)的路径。

    和

    --exec-root是存储容器状态的路径。默认值为 /var/run/docker。在此处指定正在运行的守护程序的路径。

    所以如果你想移动你的容器和图像(以及其他东西),你必须设置这两个参数。

    您还可以创建一个简单的链接,Docker 期望其文件夹重定向到所需的位置。此处
    对其进行了 描述并导致相同的结果。它看起来很“脏”,但最终看起来比第一个解决方案更稳定。


    使用 WSL 2 引擎(适用于 Windows 家庭版和家庭版)

    "D:\\Docker\\data-root"Miguel 建议的值将使 Docker 崩溃,因为它必须是 WSL 文件夹。
    但是,Docker 创建了一个特定的 WSL 发行版,其中包含您的 docker 数据,您可以移动它。这不需要修改 dockerd 参数。

    移动 docker 的 WSL 发行版

     wsl --export docker-desktop-data docker-desktop-data.tar
     wsl --unregister docker-desktop-data
     wsl --import docker-desktop-data X:\wslStore\ docker-desktop-data.tar --version 2
    

    X:\wslStore参数是您要“安装”您的 Distro 的路径,例如D:\Docker\data-root

    • 19
  2. Jean-François Beauchamp
    2020-06-10T11:44:02+08:002020-06-10T11:44:02+08:00

    在适用于 Windows 的 Docker v19.03.8 上,我将graph参数添加到我的配置中,它对我有用,但显然,这个参数已被弃用,我们现在应该data-root改用它。data-root的默认值为c:\programdata\docker。请注意,在 JSON 配置文件中,反斜杠需要转义。

    在此处输入图像描述

    • 5
  3. Best Answer
    Miguel
    2019-07-20T15:10:41+08:002019-07-20T15:10:41+08:00

    根据这篇文章找到其他方法。

    对于 Unix 容器,可以通过 Docker Desktop 界面在设置表单中更改图像的路径。但是,如果您使用 Windows 容器功能,则会安装第二个服务,即“Docker 引擎”。要更改此服务的图像文件夹,请执行以下步骤:

    1)获取配置文件的路径。转到管理工具-> 服务。检查 docker demo 命令行以获取服务“Dock Engine”

    在此处输入图像描述

    命令行类似于

    "C:\Program Files\Docker\Docker\Resources\dockerd.exe" --run-service --service-name docker -G myPc" --config-file C:\ProgramData\DockerDesktop\tmp-d4w\daemon。 json

    2) 编辑配置文件daemon.json并添加 data-root 属性。属性值应指向所需位置。应该看起来像这样。检查此以获取有关 json 结构的信息。

    {
      "registry-mirrors": [],
      "insecure-registries": [],
      "debug": true,
      "experimental": false,
      "hosts": [
      "npipe:////./pipe/docker_engine_windows"
      ],
      "data-root":"D:\\Docker\\data-root" 
    

    }

    如有必要,请授予运行帐户访问该文件夹的权限。

    3)重启服务。如果没有启动,请检查eventlog可能的错误。

    当您更改安装位置时,c:\ProgramData\Docker 中先前配置的数据将丢失。这就像一个新的安装到一个新的位置。(图像、容器等)。将再次创建所有子文件夹。

    要保持系统驱动器的最小值,请在全新安装时执行此操作。

    我不是 100% 确定这个解决方案,但到目前为止,docker 工作正常,系统驱动器占用很小。

    • 3

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve