【发布时间】:2022-01-12 06:02:00
【问题描述】:
我有一个启动多个服务的 docker-compose 文件。我刚刚收到一条错误消息,指出我的磁盘空间不足,所以我输入“docker system df”并看到我有 21 个卷。如果我有 3 个 docker 容器,每个容器都附加了一个卷,为什么它向我显示总数为 21 个卷?
我正在使用 AWS EC2。这是我的撰写文件,我设置卷的方式有什么问题吗?当我关闭并重新启动时,postgres 数据保持不变,我只是对卷大小和由于 T2 大型实例上没有空间而无法重建的消息感到困惑。
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
【问题讨论】:
-
应用程序的
node_modules目录的匿名卷看起来很奇怪,尤其是在 EC2 上:你不想用匿名卷覆盖图像的库树,而且你通常不想推送云部署的应用程序源与其 Docker 映像分开。不过,这是您显示的唯一非绑定安装卷。您的图像是否声明了不必要的VOLUME,这会导致创建更多匿名卷?
标签: amazon-web-services docker amazon-ec2