
以下を実行してみる脚本しかし、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
答え3
それに基づいて他の方法を見つけるこれ役職。
Unix コンテナーの場合、イメージのパスは Docker Desktop インターフェイスの設定フォームで変更できます。ただし、Windows コンテナー機能を使用する場合は、2 番目のサービスである「Docker Engine」がインストールされます。このサービスのイメージ フォルダーを変更するには、次の手順を実行します。
- 設定ファイルへのパスを取得します。管理ツール -> サービスに移動します。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
- 設定ファイルを編集し
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"
}
必要に応じて、実行中のアカウントにフォルダーにアクセスする権限を付与します。
- サービスを再起動します。開始しない場合は、
eventlog
エラーが発生していないか確認してください。
インストール場所を変更すると、c:\ProgramData\Docker 内の以前に構成されたデータは失われます。新しい場所への新規インストールのようなものです。(イメージ、コンテナーなど) すべてのサブフォルダーが再度作成されます。
システム ドライブの容量を最小限に抑えるには、新規インストール時にこれを実行してください。
この解決策については 100% 確信はありませんが、これまでのところ、docker は正常に動作しており、システム ドライブの占有はわずかです。