Docker 清理環(huán)境操作
開始清理,需要慎重!
列出無用的卷
docker volume ls -qf dangling=true
清理無用的卷
docker volume rm $(docker volume ls -qf dangling=true)
清理無用的鏡像
docker rmi $(docker images | grep '^<none>' | awk '{print $3}')
繼續(xù)清理
docker system prune
docker volume prune
以上足夠使用,其他命令不要知道了!
補充知識:Docker 一文教你清理docker空間釋放磁盤空間
如何清理docker目錄
docker 目錄已經(jīng)占滿系統(tǒng)盤,又不好遷移,問下有沒有快捷的解決方案,答案是有的。以下是我整理的經(jīng)典案列,適合生產(chǎn)以及測試使用。編寫清理docker 日志腳本如下:
[root@www ~]# cat clean_docker_log_space.log #!/bin/bash docker_log_files=$(find /var/lib/docker/containers/ -name '*-json.log') docker_logs_size=$(find /var/lib/docker/containers/ -name '*-json.log' | xargs du -sc | tail -1 |awk '{print $1,"K"}') free -h && sync && echo 1 > /proc/sys/vm/drop_caches #釋放系統(tǒng)緩存 echo -e "\033[32mThe docker log total size is $docker_logs_size\033[0m" for log in $docker_log_files do echo "Now is cleaning docker log,docker core logs:$log" cat /dev/null > $log systemctl reload docker #加載docker服務(wù),不影響已經(jīng)docker done free -h
運行結(jié)果如下:
[root@www ~]# ./clean_docker_log_space.log total used free shared buff/cache available Mem: 976M 598M 112M 6.8M 264M 157M Swap: 511M 66M 445M The docker log total size is 80 K Now is cleaning docker log,docker core logs:/var/lib/docker/containers/7538f077348e3c9722fb90ed4b0a5c3d60d72112e989526767c63d55f5a76f3e/7538f077348e3c9722fb90ed4b0a5c3d60d72112e989526767c63d55f5a76f3e-json.log Now is cleaning docker log,docker core logs:/var/lib/docker/containers/235d20190027e757a203f1b4d4093335fb92ba515f7a501448c36c1332c622a2/235d20190027e757a203f1b4d4093335fb92ba515f7a501448c36c1332c622a2-json.log Now is cleaning docker log,docker core logs:/var/lib/docker/containers/685a7af447ce884de1e9bbeb5d4ca0ca99860096f71c33b4f9a4d15a427c5e00/685a7af447ce884de1e9bbeb5d4ca0ca99860096f71c33b4f9a4d15a427c5e00-json.log total used free shared buff/cache available Mem: 976M 599M 176M 6.8M 200M 168M Swap: 511M 66M 445M [root@www ~]# find /var/lib/docker/containers/ -name '*-json.log' | xargs du -sc | tail -1 |awk '{print $1,"K"}' 0 K
建議把腳本加Linux 定時任務(wù)里面每周清理一次,這個就可以保證docker 不產(chǎn)生而外的日志文件。
生產(chǎn)環(huán)境如下所示
df -TH docker 使用系統(tǒng)磁盤的93%
執(zhí)行腳本 clean_docker_log_space.log ,執(zhí)行清理腳本之后df -TH,docker 使用系統(tǒng)磁盤的43%
docker部署建議
最后建議大家在部署docker 的應(yīng)用建議在docker自定義配置目錄
#首先,掛載容量的磁盤,掛載目錄選擇/data [root@www ~]# mkdir -p /data #停止docker [root@www ~]# systemctl stop docker #將數(shù)據(jù)移到新目錄 [root@www ~]# mv /var/lib/docker /data #修改配置,增加 --graph /data [root@www ~]# vim /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /data [root@www ~]# systemctl daemon-reload [root@www ~]# systemctl start docker [root@www ~]# systemctl enable docker.service Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
以上這篇Docker 清理環(huán)境操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持本站。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。