Docker 运行 --volume 不断创建随机卷而不使用指定的卷
Docker run --volume keeps creating random volumes and not using the one specified
Docker 不断创建随机卷,而不是使用我在 运行 docker run...
.
时指定的卷
我将从无卷开始。
$ docker volume ls
DRIVER VOLUME NAME
我会创建一个
docker volume create myvol
它将被创建
$ docker volume ls
DRIVER VOLUME NAME
local myvol
我将使用该卷启动一个容器
$ docker run -d \
--name myapp \
--publish 1337:1337 \
--volume myvol:/my-work-dir/.tmp \
foo/bar:tag
我会再去检查我的卷,我有一个我创建的和一个新的。
$ docker volume ls
DRIVER VOLUME NAME
local 9f7ffe30c24821c8c2cf71b4228a1ec7bc3ad6320c05451e42661a4e3c2c0fb7
local myvol
为什么 myvol
没有被使用?为什么要创建新卷?
如何使用卷:
创建卷:
docker volume create my-vol
要使用此卷:
docker run -d --name devtest -v my-vol:/app nginx:latest
当您使用的图像将 Docker 文件中的 VOLUME 定义为您未在 运行 命令中定义为卷的容器路径时,就会发生这种情况。 Docker 当您有一个没有源的卷(也称为匿名卷)时,会为卷名称创建 guid。您可以在图像上使用 docker image inspect
来查看该图像中定义的卷。如果您检查容器 (docker container inspect
),您会看到您的卷正在被使用,只是还有另一个指向不同路径的匿名卷也在被使用。
Docker 不断创建随机卷,而不是使用我在 运行 docker run...
.
我将从无卷开始。
$ docker volume ls
DRIVER VOLUME NAME
我会创建一个
docker volume create myvol
它将被创建
$ docker volume ls
DRIVER VOLUME NAME
local myvol
我将使用该卷启动一个容器
$ docker run -d \
--name myapp \
--publish 1337:1337 \
--volume myvol:/my-work-dir/.tmp \
foo/bar:tag
我会再去检查我的卷,我有一个我创建的和一个新的。
$ docker volume ls
DRIVER VOLUME NAME
local 9f7ffe30c24821c8c2cf71b4228a1ec7bc3ad6320c05451e42661a4e3c2c0fb7
local myvol
为什么 myvol
没有被使用?为什么要创建新卷?
如何使用卷:
创建卷:
docker volume create my-vol
要使用此卷:
docker run -d --name devtest -v my-vol:/app nginx:latest
当您使用的图像将 Docker 文件中的 VOLUME 定义为您未在 运行 命令中定义为卷的容器路径时,就会发生这种情况。 Docker 当您有一个没有源的卷(也称为匿名卷)时,会为卷名称创建 guid。您可以在图像上使用 docker image inspect
来查看该图像中定义的卷。如果您检查容器 (docker container inspect
),您会看到您的卷正在被使用,只是还有另一个指向不同路径的匿名卷也在被使用。