使用docker一段时间后,发现容器占用的磁盘空间越来越大,服务器磁盘资源被占满后,导致线上服务无法正常使用
磁盘被docker服务过量占用问题
dokcer服务运行时产生的日志被写入磁盘,不清理导致了磁盘空间不足的问题,服务器磁盘容量不足则导致运行的服务无法正常连接数据库等异常,无法重启服务。
解决方法:在配置docker-compose文件时,限制服务logging日志的大小。
services:
nginxproxy:
container_name: nginx-proxy
restart: always
image: nginx
ports:
- 443:443
- 80:80
volumes:
- ./Nginx/nginx.conf:/etc/nginx/nginx.conf
- ./Nginx/conf:/etc/nginx/conf.d
- ./Nginx/cert:/etc/nginx/cert
- ./Nginx/log:/var/log/nginx
logging:
driver: "json-file"
options:
max-size: "50m"
certbot:
container_name: certbot
image: certbot/certbot
volumes:
- ./Nginx/webroot/www:/var/www
对已有服务器的磁盘进行扩容
- 在服务器运营商购买EBS 卷,并将其挂载到对应的服务器中
- 连接服务器将挂载的卷拓展到文件系统中
- 具体步骤参照文档 aws服务器文件系统拓展