为什么docker引擎中已经创建了一些卷?

为什么docker引擎中已经创建了一些卷?,docker,docker-compose,dockerfile,docker-volume,Docker,Docker Compose,Dockerfile,Docker Volume,当我这样做的时候 docker volume ls 我可以看到我的docker引擎中已经创建了一些卷 DRIVER VOLUME NAME local 5df9458932cd504e10b2b37856c434cbdf3876733684b100cbf390c965ac9581 local 6f7037bc33861a5e42a9f8bcd699f8184ff1916a297a718ccc4df5f369d07530 local 8a86c462020f35f1

当我这样做的时候

docker volume ls
我可以看到我的docker引擎中已经创建了一些卷

DRIVER    VOLUME NAME
local     5df9458932cd504e10b2b37856c434cbdf3876733684b100cbf390c965ac9581
local     6f7037bc33861a5e42a9f8bcd699f8184ff1916a297a718ccc4df5f369d07530
local     8a86c462020f35f1051b47c48555228a1df359251f2496c32ed45a9081bb1872
local     85ed838d2e081eddc672fd8ddb15bbb3eecc73adb270678c98b7c50a03ecb2fc
为什么要创建这些卷

我怎样才能找到它们存在的目的


如果您启动的Docker容器中的卷没有名称或主机装载点,Docker将为它们创建一个唯一的名称。这些简单地提到了这样的匿名卷。最可能的情况是,Dockerfile有一个卷部分,并且没有使用相应的-mount或-v标志来运行,从而将一些本地卷绑定到容器的卷

另见

以下是创建匿名卷的示例:

具有匿名卷的Dockerfile:

FROM alpine:3.9

VOLUME ["/root", "/test"]
构建/运行容器而不装载或以其他方式命名/root、/test卷:

$docker卷ls 驱动程序卷名 $docker build-t测试。 $docker run-it-rm-d-name卷测试:最新版本 $docker卷ls 驱动程序卷名 本地5b332abd25b77c1ac324a0e3c00dc9a554cfe80c996a20bd77ef10c35c8ef98a 本地05c903f47f3f3666e03ee06154ff54b23547a5cc65750ca18bb40be40ed4049c 本地6f595aada6ae7c9fb16831996c2bdd8d652bec55a7cedf96afef95aec8f4e6e1 本地7f54c9dbbec46acc5a843499c65a50e23a78baa884facd026704d0dcb0362c9e 本地47A791197D6164757B015DF1E2ABA48BA3999720EAD6B5981820A3AAECE4113 本地214155fe63200cc859c1eddd2b31aa990fd6eb7c8614aa02bd8b57690b0fe53e 当然,您可以随时检查这些卷,试图找出它们的来源,但这可能对您有用,也可能对您没有用处:

docker inspect 5b332abd25b77c1ac324a0e3c00dc9a554cfe80c996a20bd77ef10c35c8ef98a

如果您启动的Docker容器中的卷没有名称或主机装载点,Docker将为它们创建一个唯一的名称。这些简单地提到了这样的匿名卷。最可能的情况是,Dockerfile有一个卷部分,并且没有使用相应的-mount或-v标志来运行,从而将一些本地卷绑定到容器的卷

另见

以下是创建匿名卷的示例:

具有匿名卷的Dockerfile:

FROM alpine:3.9

VOLUME ["/root", "/test"]
构建/运行容器而不装载或以其他方式命名/root、/test卷:

$docker卷ls 驱动程序卷名 $docker build-t测试。 $docker run-it-rm-d-name卷测试:最新版本 $docker卷ls 驱动程序卷名 本地5b332abd25b77c1ac324a0e3c00dc9a554cfe80c996a20bd77ef10c35c8ef98a 本地05c903f47f3f3666e03ee06154ff54b23547a5cc65750ca18bb40be40ed4049c 本地6f595aada6ae7c9fb16831996c2bdd8d652bec55a7cedf96afef95aec8f4e6e1 本地7f54c9dbbec46acc5a843499c65a50e23a78baa884facd026704d0dcb0362c9e 本地47A791197D6164757B015DF1E2ABA48BA3999720EAD6B5981820A3AAECE4113 本地214155fe63200cc859c1eddd2b31aa990fd6eb7c8614aa02bd8b57690b0fe53e 当然,您可以随时检查这些卷,试图找出它们的来源,但这可能对您有用,也可能对您没有用处:

docker inspect 5b332abd25b77c1ac324a0e3c00dc9a554cfe80c996a20bd77ef10c35c8ef98a

您在什么系统上看到这些卷?我在Linux和Windows Docker桌面上都没有得到这样的输出。@Tekki之所以出现这种情况,是因为有人创建了这样的容器-v~/data:/data。。。由于没有卷的名称,并且只提供了路径,所以我得到了这样的结果:有人在下面清除了它!您在什么系统上看到这些卷?我在Linux和Windows Docker桌面上都没有得到这样的输出。@Tekki之所以出现这种情况,是因为有人创建了这样的容器-v~/data:/data。。。由于没有卷的名称,并且只提供了路径,所以我得到了这样的结果:有人在下面清除了它!