0
0

More than 3 years have passed since last update.

Docker imageとかの格納場所を変更したかった。

Last updated at Posted at 2020-04-08

環境はWindows10pro、Docker for Desktopについて

Dockerを使えるようになろうと、記事やらリファレンスやら読みながら環境構築中の時の事

あれ、Cドライブの容量足りなくね?と気づいた。

もともとHyperVと仮想環境勉強の為にCPUは仮想環境の使用に耐えるものは用意したが、
パーティションはテキトーでCは128GBのSSD、Dに2TBだかで切っていた。

SSDに放り込んどきたいけど他のデータ整理めんどいしDockerimageって意外と容量取るんだね・・・。
imegeファイルだけでもDに移せないか試みる。

調べたらProgramDataのDockerフォルダ配下のdeamon.jsonファイルに

{
 "data-root": "ディレクトリパス"
}

と記述するのが有力。
しかしディレクトリ漁ってもなかったので作成してDockerデーモン再起動。
反応せず。
なんでよと思いつつデーモン右をクリックしたらそれっぽいのがあった。
スクリーンショット (281).png
あー、これ直接編集すればいいのかと実行。
反映またされた挙句結局エラー。

意味わからんと、Windows版でなんか違うのかと調べること数時間
Docker for windowsと通常のDockerで仕様が全く違うことが判明。

そもそもWindowsで使えるコンテナは2種類あるらしい(もっとあるかも、無知なのでスルーして下さい)
1つはWindowsServerコンテナ、Dockerの技術が使われているWindowsServerで使えるコンテナ技術
2つ目がHyper-Vコンテナ、Windows10proでも使えるコンテナ

WindowsServerコンテナってのはそもそもDockerコンテナじゃない
これとHyper-Vコンテナを混同すると
あれ記事とかで書かれてること全くできねーんだけど!ってなるっぽい。

Hyper-Vコンテナっていうのはでlinuxコンテナをwindows使うために、
仕方なくHyper-Vで仮想ハードウェアを立て、その上にDockerimageをpullしたりコンテナを起動している模様。

つまりimageの格納場所は仮想のディスクイメージにという事らしい。
Dockerデーモン起動中にHyper-Vマネージャー見てみると確かになんか実行中になってるわ・・・。

ていうかDocker for windowsの要件にHyper-Vが条件になってる時点で気づかないとは愚鈍でしたねぇ。

よってvhdxをDドライブに移動してあげました。これでたぶん解決。

ハマった原因:構造も基礎知識も知らないまま使おうとした事。

0
0
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
0
0