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