项目使用的Docker file 创建数据卷挂载点,结果发现宿主机目录中的数据卷路径下是空的,才知道docker file中创建的数据卷是隐式挂载,并不会在宿主机上留下持久化数据,随着容器被删除隐式挂载的数据卷也会跟着被删除
后面改为在jenkins file里面显式挂载了,移除了docker file 里面的隐式挂载,Dockerfile 中移除
VOLUME ["/data"]
例如,在 Jenkins Pipeline 中运行容器时,可以通过 Docker 的数据卷(Volume)功能来实现数据的持久化。数据卷可以在容器之间共享和重用,即使容器被删除,数据卷中的数据仍然保留。
sh "docker run -d --name ${NAME} -v ${VOLUME_NAME}:/data '${IMAGE_NAME}:${IMAGE_TAG}'"
Docker 运行命令示例(显式挂载)
docker run -d --name my-container -v test:/data my-image
数据卷管理命令
# 查看数据卷
docker volume ls
# 检查数据卷内容
docker volume inspect test
# 删除数据卷
docker volume rm test
想要在宿主机查看容器内生成的文件并修改,要在 先ocker volume inspect test,找到UpperDir的路径,然后就可以修改了
轻松查看Docker容器内的目录在宿主机的文件路径_docker容器内部文件在哪-CSDN博客