当容器停止时,容器创建的docker卷会发生什么情况
这是我的spring boot应用程序的Dockerfile当容器停止时,容器创建的docker卷会发生什么情况,docker,docker-volume,Docker,Docker Volume,这是我的spring boot应用程序的Dockerfile FROM openjdk:8u151-jdk-alpine VOLUME /tmp ADD target/classes/application.properties /workdir/application.properties ADD target/foo-app-2.0.0.jar /workdir/app.jar WORKDIR /workdir ENV JAVA_OPTS="" EXPOSE 8080 ENTRYPOINT
FROM openjdk:8u151-jdk-alpine
VOLUME /tmp
ADD target/classes/application.properties /workdir/application.properties
ADD target/foo-app-2.0.0.jar /workdir/app.jar
WORKDIR /workdir
ENV JAVA_OPTS=""
EXPOSE 8080
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar app.jar" ]
它在容器启动时创建一个卷/tmp
,该卷存储在主机的/var/lib/docker
文件夹中
当容器停止时,该卷是否已删除,即该卷的主机上的所有内容都已清理?如果没有,如何配置?否,卷不会自动删除(即使容器被删除),您可以使用
docker volume ls
命令列出它们
这可能会导致主机中存在大量悬空卷(与任何容器都不关联的卷)。要删除它们,可以使用以下命令,例如:
docker volume rm `docker volume ls -q -f dangling=true`
(取自此处)否,卷不会自动删除(即使容器被删除),您可以使用
docker volume ls
命令列出它们
这可能会导致主机中存在大量悬空卷(与任何容器都不关联的卷)。要删除它们,可以使用以下命令,例如:
docker volume rm `docker volume ls -q -f dangling=true`
(摘自此处)添加到@white11答案-
否,默认情况下不会自动/删除卷(即使容器 已删除),您可以使用
docker volume ls
命令列出它们
但是,停止容器后,您可以使用rm-v
删除与其关联的卷:
$docker stop$CONTAINER\u ID和&docker rm-v$CONTAINER\u ID
手册-
用法:docker rm[选项]容器[容器…]
移除一个或多个容器
选项:
-f、 --强制拆除正在运行的容器
(使用SIGKILL)
-l、 --链接删除指定的链接-v、 --卷删除与卷关联的卷 容器
添加到@white11答案-
否,默认情况下不会自动/删除卷(即使容器 已删除),您可以使用
docker volume ls
命令列出它们
但是,停止容器后,您可以使用rm-v
删除与其关联的卷:
$docker stop$CONTAINER\u ID和&docker rm-v$CONTAINER\u ID
手册-
用法:docker rm[选项]容器[容器…]
移除一个或多个容器
选项:
-f、 --强制拆除正在运行的容器
(使用SIGKILL)
-l、 --链接删除指定的链接-v、 --卷删除与卷关联的卷 容器
在这种情况下,如何配置在容器终止时删除卷?我认为没有这样的选项。您必须定期运行命令来删除所谓的悬挂卷。您可以使用此命令,例如:@ares-您可以使用
rm-v
删除容器卷,即docker stop$CONTAINER\u ID&&docker rm-v$CONTAINER\u ID
在这种情况下,如何配置在容器终止时删除卷?我认为没有这样的选项。您必须定期运行命令来删除所谓的悬挂卷。您可以使用此命令,例如:@ares-您可以使用rm-v
删除容器卷,即docker stop$CONTAINER\u ID&&docker rm-v$CONTAINER\u ID