Docker 相关关键概念和关键技术介绍(docker常用命令)
191
2022-07-25
在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 ...
发表评论
暂时没有评论,来抢沙发吧~