docker run的--rm选项使用说明
在Docker容器退出时,默认容器内部的文件系统仍然被保留,以方便调试并保留用户数据。
但是,对于foreground容器,由于其只是在开发调试过程中短期运行,其用户数据并无保留的必要,因而可以在容器启动时设置--rm选项,这样在容器退出时就能够自动清理容器内部的文件系统。
示例如下:
docker run --rm ba-208
等价于
docker run --rm=true ba-208
显然,--rm选项不能与-d同时使用(或者说同时使用没有意义),即只能自动清理foreground容器,不能自动清理detached容器。
注意,--rm选项也会清理容器的匿名data volumes。
所以,执行docker run命令带--rm命令选项,等价于在容器退出后,执行docker rm -v。
补充知识:使用docker run --cap-add参数解决权限问题(无法使用gdb调试、无法date -s修改时间)
问题 在docker容器中的centos无法使用gdb调试
ptrace: Operation not permitted
解决方法 参考:点击进入
在docker run 命令中加上参数--cap-add=SYS_PTRACE
docker run --cap-add=SYS_PTRACE ......
更多cap可查看手册
http://man7.org/linux/man-pages/man7/capabilities.7.html
还有不太优雅的做法不建议使用:通过–privileged解决 –privileged等效于–cap-add=ALL。
类似的问题还有docker机器上不能使用date -s修改时间
解决方式:
docker run --cap-add=SYS_TIME --cap-add=SYS_PTRACE ...
以上这篇docker run的--rm选项使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。