PS D:\testdocker_1> docker volume create my-volume
my-volume
PS D:\testdocker_1> docker volume ls
// ボリュームが作成されたかどうか確認する。
DRIVER VOLUME NAME
local my-volume
PS D:\testdocker_1> docker volume inspect my-volume
[
{
"CreatedAt": "2025-02-24T06:00:32Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/my-volume/_data",
"Name": "my-volume",
"Options": null,
"Scope": "local"
}
]
PS D:\testdocker_1> cd /var/lib/docker/volumes/my-volume/_data
cd : パス 'D:\var\lib\docker\volumes\my-volume\_data' が存在しないため検出できません。
発生場所 行:1 文字:1
+ cd /var/lib/docker/volumes/my-volume/_data
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\var\lib\dock...my-volume\_data:String) [Set-Location], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
// フォルダが見つからないため移動することができない。
// 理由としては、ホストPC上でDockerのボリューム領域にアクセスすることができない仕様のため。
PS D:\testdocker_1> docker volume rm my-volume
my-volume
PS D:\testdocker_1> docker volume ls
DRIVER VOLUME NAME
// 先ほど削除したボリュームは表示されなくなった。
PS D:\testdocker_1> docker volume create my-volume
my-volume
PS D:\testdocker_1> docker volume ls
DRIVER VOLUME NAME
local my-volume
PS D:\testdocker_1> docker container run -it -v my-volume:/app1 --name container-1 ubuntu:20.04
// マウント先を設定する際は絶対パスで指定を行う。
root@13d6480d9c9a:/# cd /app1
root@13d6480d9c9a:/app1# touch hello.txt
root@13d6480d9c9a:/app1# ls
hello.txt
// /app1にhello.txtを作成する。
PS D:\testdocker_1> docker container run -it -v my-volume:/app2 --name container-2 ubuntu:20.04
root@32c31336177b:/# cd /app2
root@32c31336177b:/app2# ls
hello.txt
// 先ほどcontainer-1内で作成したhello.txtが存在している。
// container-2
root@32c31336177b:/app2# echo "Hello World from container-2" > hello.txt
// container-1
root@13d6480d9c9a:/app1# cat hello.txt
Hello World from container-2
// container-2で編集した内容が表示されている。