Windows 7でdockerツールボックスを使用してdockerを実行しています。 (dockerバージョン1.9.1)
結局のところ、DockerマシンはVMをC:\ Users\username\.docker\machine\machines\defaultに作成します。画像をコミットすると、この場所のVMのサイズが大きくなります。 Windows以来、Cドライブ上のスペースの贅沢を買う余裕はありません。
デフォルトのマシンの場所を変更する方法はありますか?
これは、Windows 7で私にとって完璧に機能したものです。
Docker Toolboxは、MACHINE_STORAGE_PATHが指す場所にすべてのファイルを作成します。
更新:
新しいストレージパスを使用して新しいVMを作成することは理想的ではないことに注意してください。Dockerクイックスタートターミナルスクリプトは、「default」という名前以外のものでは動作しないようです。
C:ドライブにVMが既にある場合、最も簡単なことは、Oracle VirtualBoxに移動して「デフォルト」VMを削除し、Docker Toolboxをアンインストールし、C:\を削除することです。 Users\<username> .docker \をクリックし、上記の3つの手順を実行します。
注:Docker Toolboxをアンインストールおよび再インストールする必要はありません。しかし、私はそれなしではテストしていません。
更新
Docker証明書も移動するには、DOCKER_CERT_PATH
変数を新しいドライブのパスを指すように設定します。ヒントをくれた@Nutleに感謝します。
.docker
ディレクトリを別のドライブに移動し、その接続点を作成できます。
通常のショートカットは機能しないことに注意してください。
例えば:
.docker
ディレクトリをC:\Users\username
からD:\
に移動します
そして実行:
C:\Users\username>mklink /j .docker D:\.docker
Junction created for .docker <<===>> D:\.docker
2015年以来、現在(2017年6月)Hyper-Vがあります。 VHDX
ファイル :
Docker for Windows 1.13.0、2017-01-19(安定) を参照してください:
イメージとホストにマウントされていないボリュームを含むVHDXファイルを移動できます(UIの「詳細」タブを使用)
これにより、%APPDATA%\Docker\settings.json
が次の行で変更されます。
"MobyVhdPathOverride":"C:\\Users\\Public\\Documents\\Hyper-V\\New folder\\MobyLinuxVM.vhdx"
詳細はこのスレッド を参照してください。
元の答え
現在2015年、docker-machineは%USERPROFILE%
の使用を強制します。
を参照 libmachine/mcnutils/utils.go#L17-L25
issue 499 でコメントされているように:
それまでの間、ユーザーは
.docker/machine/*
ファイルの保存場所をどのように指定できますか?コマンドラインで
--storage-path
を指定するか、環境変数MACHINE_STORAGE_PATH
を使用します。
( PR 1941 で実装されていることがわかります)
Macで '
-s <path>
'を試してみたところ、うまくいくようです。
明らかでないかもしれないのは、pathオプションがコマンドの前にあることです.
「docker-machine -s /Volumes/other/location' create --driver=virtualbox
」を実行すると、別の場所に新しいVirtualBoxイメージが作成されました。
VirtualBoxグラフィックインターフェイスを使用して、ファイルdisk.vmdk
を再配置します。
C:\Users\{myUsername}\.docker\machine\machines\default\disk.vmdk
を別のフォルダー、たとえばF:\docker-image\
にコピーします。VirtualBox
を開き、default
VMを選択して、Settings
を開きます。Storage
を開き、現在のdisk.vmdk
を選択してリリース(または削除)します。Choose Virtual Hard Disk File...
をクリックし、F:\docker-image\
でコピーしたファイルを検索しますFile
に移動し、Virtual Media Manager...
を選択して古いdisk.vmdk
を解放または削除します4.
を再試行して、完了です!Dockerクイックスタートターミナルを実行するときに、これら2つのコマンドを入力します。
新しい場所は「D:\ docker」で、新しいマシン名は「docker1」だと思います
export MACHINE_STORAGE_PATH=D:\\docker
docker-machine create --driver=virtualbox docker1
これにより、指定した名前の新しいマシンが新しい場所に作成されます。
MACHINE_STORAGE_PATH環境変数メソッドを機能させることができませんでした。マシンを最初に初期化するときに、証明書が見つからないという苦情が続きました。まだWindows 7では、docker-toolboxを使用する必要があります。
私は問題を回避しました:
上記のソリューションのいずれかで少し問題がありましたが、これは私のために働いたものです:
MACHINE_STORAGE_PATH
環境変数を定義して、目的のディレクトリ/フォルダーを指すようにします。.docker
ディレクトリ内にインストールしていました。.docker
フォルダーと共に作成されたデフォルトのマシンを停止して削除しました。start.sh
スクリプトを編集し、上部に次の行を追加しました。例えば.
export MACHINE_STORAGE_PATH=D:\\Docker
これらの回答の多くはデータ不足であり、少なくとも私の環境では機能しませんでした:win10 PRO、docker desktop community 2.0.0.3。最後に、この方法でこの問題を解決しました。
dockerのアンインストール
hyper-Vマネージャーを開きます(WINキーを押してから「Hyper」と入力します)
デフォルトの仮想ハードディスクの場所をHyper-V設定で変更し(VM設定ではなく)、確認します
ドッカーをインストールする
docker設定の詳細オプションでディスクイメージの場所を確認してください
これらの回答は、最新リリースの時点では古くなっています。場所は、設定のユーザーインターフェイスで構成できます。
以下の内容でc:\ programdata\docker\config\daemon.jsonというファイルを作成します。ここで、e:\ imagesはすべての画像を保存する場所などです。Dockerを再起動します。
{"グラフ": "e:\ images"}
これは魔法のように働いた
リファレンス- https://forums.docker.com/t/where-are-images-stored/9794/11