2

我正在虚拟机上使用 docker-compose 运行一些 docker 映像。当我启动这些容器时,它们使用了大约 55MB:

# docker system df

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          11        7         6.038GB   1.891GB (31%)
Containers      14        14        55.83MB   0B (0%)
Local Volumes   32        4         27.25MB   27.2MB (99%)
Build Cache     0         0         0B        0B

大约一周后,我收到了一些关于虚拟机磁盘空间不足的警告,我发现这些容器消耗了大约 122GB 的磁盘空间!

# docker system df

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          11        7         6.038GB   1.891GB (31%)
Containers      18        0         122.2GB   122.2GB (100%)
Local Volumes   28        6         27.2MB    9.633MB (35%)
Build Cache     0         0         0B        0B

我多次遇到这个问题,直到我发现并使用它docker container prune来删除它们。

我在 docker-compose 中为卷使用本地路径,并将该路径指向与 root( /) 不同的分区上的某个磁盘。这是我的 docker-compose 的示例:

version: '3'

services:
  webapp:
    image: my-image
    restart: always
    logging:
      options:
        max-size: "8m"
        max-file: "4"
    environment:
      TZ: Asia/Tehran
    volumes:
      - ./volumes/data:/var/webapp/data:Z
    ports:
      - 127.0.0.1:8080:8080
    depends_on:
      - db

 db:
    image: postgres:11
    restart: always
    environment:
      POSTGRES_DB: database_name
      POSTGRES_USER: database_user
      POSTGRES_PASSWORD: database_password
      TZ: 'Asia/Tehran'
      PGTZ: 'Asia/Tehran'
    volumes:
      - ./volumes/db/:/var/lib/postgresql/data:Z

4

0 回答 0