4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

docker in dockerでボリュームがマウントされない

Posted at

はじめに

Docker in Docker (dind)のボリュームマウントで躓いたので図解でまとめます

問題

以下のような構成でボリュームマウントをしようと考えました

image.png

Docker1の/hogeとDocker2の/hogeをマウントしようとしましたがなぜかうまくディレクトリがマウントされておらずDocker2の/hogeには中身のフィルがコピーされていませんでした

Docker1の中で以下のコマンドでボリュームマウントしました

$ docker run -v /hoge:/hoge ...

解決方法

DinDの場合、ボリュームマウントすると以下のようにホストのボリュームをマウントしてしまいます(Docker1のボリュームは関係なくデーモンのボリュームを共有する)

image.png

なので、ローカルと共有している/sampleとDocker1の/hogeをマウントして、ローカルの/sampleとDocker2の/hogeをマウントするとうまくいきます

image.png

# ローカルで叩く
$ docker run -v /hoge:/sample ...

# Docker 1で叩く
$ docker run -v /sample:/hoge ...

この方法は1度ローカルのボリュームを経由するのでスピードが遅くなるなどデメリットも存在しますが、DinDで行う場合はこの方法が素早く実現する方法みたいです

おわりに

過去に1度同じところでつまづいていたのですが、すぐに気づけなかったので図解でまとめてみました

4
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?