LoginSignup
2
6

More than 1 year has passed since last update.

docker volumeの中身を確認してみました

Last updated at Posted at 2020-04-10

まずはvolumeの一覧を表示

list.sh

$ docker volume ls
du667382djcn・・・
hy66557738mj・・・
examplevolume
examplevolume2

ここで表示されたdu6673のような乱数の
volumeがなぜか自動生成されることがあります。
自分の認識範囲ではコンテナをプル、スタートなどした際に
回線が切れたり、マウントやイメージ内のファイルを直でいじったりなど
何らかの原因で起こることが多い気がしています。
(こんな時に自動生成されるよ〜という経験談などありましたらコメントいただけたら嬉しいです)
【2022.2追記】docker-compose.ymlファイルがないディレクトリでdocker compose up -dでコンテナを走らせたら
自分の環境では乱数volumeが生成されました。
他にも発見したら追記します。

自動生成されたボリュームをマウントしてテストコンテナを立ててみる

run.sh

$ docker run -itd --name testvolume -v du667382djcn:/du667382djcn busybox

コマンド構成としては
docker run -itd --name コンテナ名をここに -v ボリューム名をここに:/コンテナ内にボリュームをアタッチする際のコンテナ内のディレクトリ名を自由に設定 busybox(←イメージ。busyboxは軽量なリナックスコマンド群のイメージ)

のような形になります。

注):/のスラッシュが抜けるとエラーになるので注意です。

いざコンテナ内ボリュームディレクトリへ

exec.sh

$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
a23fd4z8ks2d        busybox             "sh"                8 seconds ago       Up 7 seconds                            testvolume

$ docker exec -it a23fd4z8ks2d /bin/ash
/ # ls -la
total 48
drwxr-xr-x    1 root     root          4096 Apr 10 03:19 .
drwxr-xr-x    1 root     root          4096 Apr 10 03:19 ..
-rwxr-xr-x    1 root     root             0 Apr 10 03:19 .dockerenv
drwxr-xr-x    2 root     root         12288 Jul 16  2019 bin
drwxr-xr-x    5 root     root           360 Apr 10 03:19 dev

drwxr-xr-x    2 root     root          4096 Nov 11 10:03 du667382djcn

drwxr-xr-x    1 root     root          4096 Apr 10 03:19 etc
drwxr-xr-x    2 nobody   nogroup       4096 Jul 16  2019 home
dr-xr-xr-x  190 root     root             0 Apr 10 03:19 proc
drwx------    1 root     root          4096 Apr 10 03:20 root
dr-xr-xr-x   13 root     root             0 Apr 10 03:19 sys
drwxrwxrwt    2 root     root          4096 Jul 16  2019 tmp
drwxr-xr-x    3 root     root          4096 Jul 16  2019 usr
drwxr-xr-x    4 root     root          4096 Jul 16  2019 var

$ls -la /du667382djcn

これでマウントされたディレクトリ内の一覧が表示されます。

未解決な疑問点

少し前の情報を参考に以下のやり方を試したのですがうまくいきませんでした。

error.sh

$ docker volume ls
du667382djcn・・・
hy66557738mj・・・
examplevolume
examplevolume2

$ docker volume inspect du667382djcn
[
    {
        "CreatedAt": "2017-11-11T10:13:45Z",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/du667382djcn・・・/_data",
        "Name": "du667382djcn・・・",
        "Options": null,
        "Scope": "local"
    }
]

$ sudo ls -la /var/lib/docker/volumes/du667382djcn・・・/_data
ls: /var/lib/docker/volumes/du667382djcn・・・/_data: No such file or directory

このやり方ができればこちらの方が楽なのですが
上記間違いや似たようなやり方がありましたらコメントいただければ嬉しく思います。

2
6
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
2
6