Col*_*ole 4 docker docker-volume
Docker 不断创建随机卷,而不是使用我在运行时指定的卷docker run...。
我将从无卷开始。
$ docker volume ls
DRIVER VOLUME NAME
Run Code Online (Sandbox Code Playgroud)
我将创建一个
docker volume create myvol
Run Code Online (Sandbox Code Playgroud)
它将被创建
$ docker volume ls
DRIVER VOLUME NAME
local myvol
Run Code Online (Sandbox Code Playgroud)
我将使用卷启动一个容器
$ docker run -d \
--name myapp \
--publish 1337:1337 \
--volume myvol:/my-work-dir/.tmp \
foo/bar:tag
Run Code Online (Sandbox Code Playgroud)
我会再次检查我的卷,我有我创建的一本和一本新的。
$ docker volume ls
DRIVER VOLUME NAME
local 9f7ffe30c24821c8c2cf71b4228a1ec7bc3ad6320c05451e42661a4e3c2c0fb7
local myvol
Run Code Online (Sandbox Code Playgroud)
为什么没有myvol被使用?为什么要创建新卷?
当您使用的映像在 Dockerfile 中将 VOLUME 定义为您未在运行命令中定义为卷的容器路径时,就会发生这种情况。当您有一个没有源的卷(也称为匿名卷)时,Docker 会为卷名称创建 guid。您可以使用docker image inspect图像来查看该图像中定义的卷。如果您检查容器 ( docker container inspect),您将看到您的卷正在被使用,只是另一个不同路径的匿名卷也正在被使用。
| 归档时间: |
|
| 查看次数: |
2639 次 |
| 最近记录: |