在Docker容器退出時,默認(rèn)容器內(nèi)部的文件系統(tǒng)仍然被保留,以方便調(diào)試并保留用戶數(shù)據(jù)。
但是,對于foreground容器,由于其只是在開發(fā)調(diào)試過程中短期運行,其用戶數(shù)據(jù)并無保留的必要,因而可以在容器啟動時設(shè)置--rm選項,這樣在容器退出時就能夠自動清理容器內(nèi)部的文件系統(tǒng)。
示例如下:
docker run --rm ba-208
等價于
docker run --rm=true ba-208
顯然,--rm選項不能與-d同時使用(或者說同時使用沒有意義),即只能自動清理foreground容器,不能自動清理detached容器。
注意,--rm選項也會清理容器的匿名data volumes。
所以,執(zhí)行docker run命令帶--rm命令選項,等價于在容器退出后,執(zhí)行docker rm -v。
補充知識:使用docker run --cap-add參數(shù)解決權(quán)限問題(無法使用gdb調(diào)試、無法date -s修改時間)
問題 在docker容器中的centos無法使用gdb調(diào)試
ptrace: Operation not permitted
解決方法 參考:點擊進入
在docker run 命令中加上參數(shù)--cap-add=SYS_PTRACE
docker run --cap-add=SYS_PTRACE ......
更多cap可查看手冊
http://man7.org/linux/man-pages/man7/capabilities.7.html
還有不太優(yōu)雅的做法不建議使用:通過–privileged解決 –privileged等效于–cap-add=ALL。
類似的問題還有docker機器上不能使用date -s修改時間
解決方式:
docker run --cap-add=SYS_TIME --cap-add=SYS_PTRACE ...
以上這篇docker run的--rm選項使用說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。