[解決済み] Windows 10 HomeでWSL2上のDocker Desktopを使用する場合、Dockerイメージの場所を変更するにはどうすればよいですか?
質問内容
Windows 10 Home 2020年5月にアップグレードしたところです。 アクティベートWSL2 をインストールし Dockerデスクトップ .
WSL2は私のシステムディスク(小さなSSD)にインストールする必要があります。私はそれをdockerイメージで満たしたくありません。dockerイメージのパスはどのように変更すればよいのでしょうか?私は大きなWindowsファイルシステムのパスを使いたいのです。
は、その
画像の場所
はやや分かりにくいですね。私は、それが
/mnt/wsl/docker-desktop-data/
.
WSL2内のDockerイメージのディレクトリを変更するにはどうすればよいですか?の中のパスを選択するようにdockerの設定を変更してもよろしいでしょうか?
/mnt/d
または、/mnt/d から docker のデータディレクトリにマウントするのでしょうか?
解決方法は?
WSL 2 docker-desktop-data vm ディスクイメージは、通常、以下の場所に存在することになります。
%USERPROFILE%\AppData\Local\Docker\wsl\data\ext4.vhdx
以下の手順で、既存のDockerデータをすべて保持したまま、他のドライブ/ディレクトリに再配置します(Docker Desktop 2.3.0.4 (46911) でテストし、3.1.0 (51484) に更新した後も引き続き動作しました)。
まず、Docker Desktopのアイコンを右クリックし、「Docker Desktopの終了」を選択してDocker Desktopを終了させます。
次に、コマンドプロンプトを開いてください。
wsl --list -v
表示されるはずです。両方のSTATEがStoppedになっていることを確認してください(
wsl --shutdown
)
NAME STATE VERSION
* docker-desktop Stopped 2
docker-desktop-data Stopped 2
docker-desktop-dataをファイルに書き出す。
wsl --export docker-desktop-data "D:\Docker\wsl\data\docker-desktop-data.tar"
docker-desktop-dataのwslからの登録を解除します。
ext4.vhdx
ファイルは自動的に削除されます (重要なイメージやコンテナがある場合は、まずそれをバックアップしてください)。
wsl --unregister docker-desktop-data
docker-desktop-dataをwslにインポートし直しますが、ext4.vhdxは別のドライブ/ディレクトリに存在することになります。
wsl --import docker-desktop-data "D:\Docker\wsl\data" "D:\Docker\wsl\data\docker-desktop-data.tar" --version 2
Docker Desktopを再度起動すると、正常に動作するはずです。
を削除してください。
D:\Docker\wsl\data\docker-desktop-data.tar
ファイル (ただし
ext4.vhdx
を確認し、問題がないようであれば、そのファイルを削除してください。
関連
-
[解決済み】docker: ドライバがエンドポイントウェブサーバの外部接続のプログラミングに失敗しました。
-
[解決済み】デーモンからのエラー応答:getsockopt: 接続が拒否された
-
[解決済み] Ansibleタスクのタイムアウトの最大長
-
[解決済み] docker-compose down default_network エラー
-
[解決済み] 作成前のチェックでエラーになる。「このコンピュータでは、VT-X/AMD-vが有効になっていません。有効になっているのに「BIOSで有効にすることが必須です。
-
Http: サーバーが HTTPS クライアントに HTTP 応答を返した 解決策
-
minttyを使用している場合は、コマンドの前に'winpty'を付けてみてください。
-
bashでの解決方法 : docker :コマンドが見つかりません。
-
docker入門(dockerを使ったWebアプリケーションのデプロイメント)
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】docker: ドライバがエンドポイントウェブサーバの外部接続のプログラミングに失敗しました。
-
[解決済み] 「docker build" は正確に1つの引数を必要とします。
-
[解決済み] docker-compose down default_network エラー
-
[解決済み] Dockerの初期化に失敗しました
-
Docker Error : 無効または破損したジャーファイル .jar
-
minttyを使用している場合は、プレフィックスを付けてみてください。
-
docker パーミッションが拒否されました。
-
dockerでgitlabをインストールする際にパーミッションの例外が発生する
-
docker: デーモンからのエラー応答。コンテナ名 "/mysql" は既にコンテナによって使用されています。
-
docker-composeによるmysqlのデプロイメントの実践