LoginSignup
4
3

More than 3 years have passed since last update.

Dockerのイメージ&コンテナの配置フォルダを変更

Last updated at Posted at 2020-10-07

目的

dockerのイメージやらコンテナの保存先のvhdxをCではなくDドライブの任意のフォルダに持っていきたい。
基本は参考に挙げたリンク先の手順で行った。

やってみたけどうまくいかない

chgdockerdir_failed.ps
wsl --import docker-desktop D:\Docker\docker-desktop docker-desktop.tar

上記を流した後、import先にはvhdxではなく、
Linuxみたいなディレクトリ構成のフォルダ群が出来上がる。
その状態でもDocker Desktopは起動するし、docker -vでバージョン情報は返ってくるが
docker runコマンドは起動せず下記のエラー。

chgdockerdir_failed2.ps
docker run -d -p 80:80 docker/getting-started
docker: Error response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file specified.

原因?

chgdockerdir_failed2.ps
wsl --import docker-desktop D:\Docker\docker-desktop docker-desktop.tar --version 2

これだとうまくvhdxでimportできた。
指定しないとversion1になる場合がある?
wslのデフォルトを設定できるコマンドがあるようなので、
それをあらかじめ設定しておけば問題ないのでは?

wsl --set-default-version 2
であらかじめ設定してからだとimport時にversionを指定しなくてもOKみたいなのでこれで。

ちなみににっちもさっちもいかなくなった場合は
DockerDesktopのTroubleshootの
「Clean / Purge data」を押せば元に戻る。

最終的に流したコマンド

以下Powershellから実施

chgdockerdir.ps
#dockerを停止しておく
#デフォルトのwslのバージョンを2にしておく
wsl --set-default-version 2
#一度ディストリビューションをシャットダウン
wsl --shutdown
wsl -l -v
#  NAME                   STATE           VERSION
#* docker-desktop         Stopped         2
#  docker-desktop-data    Stopped         2

#現在のvhxdをtar形式でexport
wsl --export docker-desktop docker-desktop.tar
wsl --export docker-desktop-data docker-desktop-data.tar

wsl --unregister docker-desktop
#登録を解除しています...
wsl --unregister docker-desktop-data
#登録を解除しています...

#さっきexportしたtarを読み込み
wsl --import docker-desktop D:\Docker\docker-desktop docker-desktop.tar
wsl --import docker-desktop-data D:\Docker\docker-desktop-data docker-desktop-data.tar

参考

WSL2 Dockerのイメージ・コンテナの格納先を変更したい (WSL2のvhdxファイルを移動させたい)
Docker Desktop の ディスク領域 を Cドライブから別のドライブへ移動する方法
「WSL」ディストリビューションのインポート・エクスポートはこんなに簡単!

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3