Windows で Docker イメージを他のドライブに移動する方法

Windows で Docker イメージを他のドライブに移動する方法

以下を実行してみる脚本しかし、dockerd私のワークステーションでは認識されません。

私のOSはWindows 10です。最新バージョンのDocker 18.09.2をインストールしました。

dockerを使うのは初めてです。

答え1

この回答は、ジャン=フランソワ・ボーシャンの答え:
この設定ファイルに関する完全なドキュメントは以下にあります。Dockerのドキュメント

次のように述べられています。

--data-rootイメージ、ボリューム、クラスターの状態などの永続データが保存されるパスです。

そして

--exec-rootコンテナの状態が保存されるパスです。デフォルト値は /var/run/docker です。ここで実行中のデーモンのパスを指定します。

したがって、コンテナとイメージ (およびその他のもの) の両方を移動する場合は、これらのパラメータの両方を設定する必要があります。


また、Dockerがフォルダーを目的の場所にリダイレクトする単純なリンクを作成することもできます。ここ同じ結果になります。見た目は「汚い」ですが、最終的には最初の解決策よりも安定しているように見えます。


WSL 2 エンジンの操作 (Windows Home および Family エディション用)

"D:\\Docker\\data-root"価値としてミゲルの提案DockerはWSLフォルダである必要があるためクラッシュします。
ただし、DockerはDockerデータを含む特定のWSLディストリビューションを作成します。そして動かすこともできる. 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は、ディストリビューションを「マウント」したいパスです。D:\Docker\data-root

答え2

Docker v19.03.8 for Windows では、graphパラメータを自分の設定に追加してうまくいきましたが、どうやらこのパラメータは非推奨になっているようで、data-root代わりに を使用する必要があります。 のデフォルト値はdata-rootですc:\programdata\docker。JSON 設定ファイルでは、バックスラッシュをエスケープする必要があることに注意してください。

ここに画像の説明を入力してください

答え3

それに基づいて他の方法を見つけるこれ役職。

Unix コンテナーの場合、イメージのパスは Docker Desktop インターフェイスの設定フォームで変更できます。ただし、Windows コンテナー機能を使用する場合は、2 番目のサービスである「Docker Engine」がインストールされます。このサービスのイメージ フォルダーを変更するには、次の手順を実行します。

  1. 設定ファイルへのパスを取得します。管理ツール -> サービスに移動します。docker デーモンのコマンドラインでサービス「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

  1. 設定ファイルを編集し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" 
}

必要に応じて、実行中のアカウントにフォルダーにアクセスする権限を付与します。

  1. サービスを再起動します。開始しない場合は、eventlogエラーが発生していないか確認してください。

インストール場所を変更すると、c:\ProgramData\Docker 内の以前に構成されたデータは失われます。新しい場所への新規インストールのようなものです。(イメージ、コンテナーなど) すべてのサブフォルダーが再度作成されます。

システム ドライブの容量を最小限に抑えるには、新規インストール時にこれを実行してください。

この解決策については 100% 確信はありませんが、これまでのところ、docker は正常に動作しており、システム ドライブの占有はわずかです。

関連情報