每次我执行 docker compose up 时,Docker 都会创建一个新卷

Bit*_*een 5 amazon-ec2 amazon-web-services docker

我有一个 docker-compose 文件,可以启动多个服务。我刚刚收到一条错误消息,指出我的磁盘空间不足,因此我输入“docker system df”并看到我有 21 个卷。如果我有 3 个 docker 容器,每个容器都附加一个卷,为什么它显示的卷总数为 21 个?

我正在使用 AWS EC2。这是我的撰写文件,我设置卷的方式有什么问题吗?当我关闭并重新启动时,postgres 数据得到保留,我只是对卷大小和由于 T2 Large 实例上没有空间而无法重建的消息感到困惑。

version: "3"
services:
  nftapi:
    env_file:
      - .env
    build:
      context: .
    ports:
      - '443:5000'
    depends_on: 
      - postgres
    volumes: 
      - .:/app
      - /app/node_modules
    networks:
      - postgres
      
  postgres:
    container_name: postgres
    image: postgres:latest
    ports:
    - "5432:5432"
    volumes:
    - /data/postgres:/data/postgres
    env_file:
    - docker.env
    networks:
    - postgres
 
  pgadmin:
    links:
    - postgres:postgres
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
    - "8080:80"
    volumes:
    - /data/pgadmin:/root/.pgadmin
    env_file:
    - docker.env
    networks:
    - postgres
 
networks:
  postgres:
    driver: bridge
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

小智 1

如果您的主容器已启动并正在运行

docker volume prune
Run Code Online (Sandbox Code Playgroud)

它应该删除任何容器分离或未使用的任何卷我养成了定期在我的 aws 实例上运行的习惯

docker system prune
Run Code Online (Sandbox Code Playgroud)