まずはvolumeの一覧を表示
$ docker volume ls
du667382djcn・・・
hy66557738mj・・・
examplevolume
examplevolume2
ここで表示されたdu6673のような乱数の
volumeがなぜか自動生成されることがあります。
自分の認識範囲ではコンテナをプル、スタートなどした際に
回線が切れたり、マウントやイメージ内のファイルを直でいじったりなど
何らかの原因で起こることが多い気がしています。
(こんな時に自動生成されるよ〜という経験談などありましたらコメントいただけたら嬉しいです)
【2022.2追記】docker-compose.ymlファイルがないディレクトリでdocker compose up -dでコンテナを走らせたら
自分の環境では乱数volumeが生成されました。
他にも発見したら追記します。
自動生成されたボリュームをマウントしてテストコンテナを立ててみる
$ docker run -itd --name testvolume -v du667382djcn:/du667382djcn busybox
コマンド構成としては
docker run -itd --name コンテナ名をここに -v ボリューム名をここに:/コンテナ内にボリュームをアタッチする際のコンテナ内のディレクトリ名を自由に設定 busybox(←イメージ。busyboxは軽量なリナックスコマンド群のイメージ)
のような形になります。
注):/のスラッシュが抜けるとエラーになるので注意です。
いざコンテナ内ボリュームディレクトリへ
$ 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
これでマウントされたディレクトリ内の一覧が表示されます。
未解決な疑問点
少し前の情報を参考に以下のやり方を試したのですがうまくいきませんでした。
$ 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
このやり方ができればこちらの方が楽なのですが
上記間違いや似たようなやり方がありましたらコメントいただければ嬉しく思います。