やったこと
Dockerで起動しているコンテナに、ホストOSのVolumeを提供して共有で使います。
確認環境
$ docker --version
Docker version 19.03.13, build 4484c46d9d
調査
今回 docker container run
で、このオプションを使ってみます。
-v, –volume list Bind mount a volume
タブ1: ホストOS (手元のPC) で起動するコンテナに提供するVolume
$ pwd
/tmp/test_volume
$ tree
.
└── sample.txt
$ cat sample.txt
123
タブ2: コンテナ起動
$ docker container run \
> --name abc_container \
> -h host1 \
> -it \
> -v /tmp/test_volume:/tmp \
> ruby:2.5 \
> /bin/bash
root@host1:/# ls /tmp/
sample.txt
root@host1:/# cat /tmp/sample.txt
123
タブ1: ファイル追加
$ pwd
/tmp/test_volume
$ echo 456 > sample2.md
$ cat sample2.md
456
タブ2: コンテナ上でファイルが存在していることを確認
root@host1:/# ls /tmp/
sample.txt sample2.md
root@host1:/# cat /tmp/sample2.md
456
ホストOSで追加したファイルが、コンテナ上でも確認することができました。
最後に
ホストOSのデータをコンテナに見せるには、下記のような方法もあります。
- bind mount
- tmpfs mount