Docker中的卷是否在ECS中合成?
我正在使用卷,以便两个容器共享一个日志文件(filebeat需要查看Web服务器的日志) 我知道Docker中的卷是否在ECS中合成?,docker,docker-compose,amazon-ecs,Docker,Docker Compose,Amazon Ecs,我正在使用卷,以便两个容器共享一个日志文件(filebeat需要查看Web服务器的日志) 我知道/compose/production/logs/uwsgi是主机上的目录。(这是我正在运行的机器docker compose up 当我将其部署到生产环境时,我将创建映像并上传到ECS 我不知道ECS上的镜像是如何运行的,但是我没有配置任何docker compose相关设置,所以它必须作为普通docker镜像运行 我担心的是,共享卷将不会在生产ECS上共享 运行时如何使两个容器共享一个文件/目录?
/compose/production/logs/uwsgi
是主机上的目录。(这是我正在运行的机器docker compose up
当我将其部署到生产环境时,我将创建映像并上传到ECS
我不知道ECS上的镜像是如何运行的,但是我没有配置任何docker compose
相关设置,所以它必须作为普通docker镜像运行
我担心的是,共享卷将不会在生产ECS上共享
运行时如何使两个容器共享一个文件/目录?
或者我应该合并服务并创建一个映像
- 我可以考虑创建一个单独的卷,但我不确定它将如何处理如果有多个web容器,它们将共享一个日志文件,而这不是我想要的
- 如果我组合服务,并在web服务中安装filebeat(通过apt)。
- 如果可能的话,它倾向于创建我想要避免的monolith服务
- 我不确定我当前的设置是否可以在生产环境(ECS)中使用,是否有一种方法可以在不部署到ECS的情况下进行试验
web:
volumes:
#Logs are mounted to a relative path. These are also accessed by Filebeat and consumed by the uwsgi module.
- ./compose/production/logs/uwsgi/:/var/log/uwsgi/
filebeat:
restart: always
build:
context: .
dockerfile: ./compose/production/filebeat/Dockerfile
args:
- VERSION=${VERSION}
image: filebeat
volumes:
- ./compose/production/logs/uwsgi/:/var/log/uwsgi/