你如何删除泊坞窗的内容?
我有一个从docker-compose.yml文件创build的卷。 我们来调用volume my_volume和与my_container关联的容器。 我想脚本删除卷的内容。 下面的所有内容都假定my_container已经停止,但没有被删除。
我可以使用以下命令列出卷的内容:
docker run --rm -v my_volume:/data/ ubuntu ls -la /data
这工作,所以接下来我尝试删除数据文件夹的内容使用:
docker run --rm -v my_volume:/data/ ubuntu rm -rf /data/*
没有错误消息被报告,所以事情似乎成功,但是当我再次列出卷的内容时,卷中的数据都没有被删除。
我可以通过input一个容器来完成删除操作,然后像这样删除:
docker run --rm -it -v my_volume:/data/ ubuntu /bin/bash
然后从容器内:
rm -rf /data/*
这工作正常,内容被删除,但这不符合规定的目的,因为它不是脚本。 任何想法为什么rm不工作,当我尝试在容器外使用它,以及我可能会去除卷的内容成功? 我应该注意到,我不想删除卷,并创build一个新的,因为这样做需要删除与我不想做的卷相关联的原始容器/图像。 谢谢你的帮助!
任何想法为什么rm不工作,当我尝试在容器外使用它
我相信发生了什么事是/data/*
正在主机壳中进行评估。 因此,容器实际上是使用命令rm -rf /data/somefile /data/otherfile ...
与主机上的/data
目录中的文件列表一起运行的。 如果这些文件不匹配容器,那么它似乎没有删除任何东西。
您可以使用单引号来防止在主机shell中发生扩展。
rm -rf '/data/*'
- docker容器中的hangfire不工作访问仪表板url的空白屏幕
- 从运行tomcat服务器的docker容器获取debugging信息
- 在docker中安装npm会导致github拒绝连接
- 在Docker中引导Percona Xtradb集群出现错误:无法打开和locking特权表:表'mysql.user'不存在
- 用Ansible将命令行parameter passing给Docker
- Dockernetworking问题:服务器行为exception
- 在Docker容器中安装工具时出错
- Docker Bitbucket。 git克隆从回购。 权限被拒绝(公钥)
- 如何在Docker执行器中运行gitlab runner中的mongodb服务