问题原因是因为

docker-compose启动的一起的服务中,etcd没事,minio没事

standalone这个容器里面挂在的日志盘在服务器存储有几十G,把存储撑爆了。

1.进各个容器看报错

docker-compose -f docker-compose-standalone.yml logs --tail=100 milvus-standalone

2.stop restart ,别docker-compose down会丢数据

Error response from daemon: cannot restart container 3f0924907ff96d2c9dfbd313db8364c3a04647cebab518e7721135b76bea2d9e: mkdir/var/lib/docker/overlay2/d2fbf25a4a9512b190040b5098a0afd7c492194b166870bc177e5df3e4766db8/merged: no space left on device报错

3.查日志步骤

科学删除 Docker 日志的三步法:先看、再限、后清。

1. 先看——找出“日志大户”  
   执行下面命令,按大小列出所有容器日志:  
   ```bash
   du -sh /var/lib/docker/containers/*/*-json.log | sort -rh
   ```
   一眼就能看到哪些容器日志最占空间。

2. 再限——给日志设“天花板”  
   编辑 `/etc/docker/daemon.json`,写入:  
   ```json
   {
     "log-driver": "json-file",
     "log-opts": {
       "max-size": "10m",
       "max-file": "3"
     }
   }
   ```
   重启 Docker:  
   ```bash
   sudo systemctl restart docker
   ```
   以后所有新建容器的日志单文件最大 10 MB,最多保留 3 个轮转文件,从根本上防止无限增长。

3. 后清——安全清空现有日志  
   对正在运行的容器,用 `truncate` 清空,不影响写入:  
   ```bash
   sudo truncate -s 0 /var/lib/docker/containers/CONTAINER_ID/*-json.log
   ```
   想一次清理全部,可批量执行:  
   ```bash
   sudo find /var/lib/docker/containers -name "*-json.log" -exec truncate -s 0 {} \;
   ```

4.清一下

指定目录下启动milvus服务,docker-compose up -d即可

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐