在我的应用程序中,我使用了ruby和rails应用程序。应用程序在ngix+passanger上运行。我还使用了redis和sidekiq。我想在ecs fargate上运行我的应用程序。
我已经实施了以下步骤:
使用docker文件创建docker映像
网状物
Web服务器
redis公司
西德基
将docker映像推入ecr
使用fargate创建任务
使用fargate在ecs上运行任务
我的docker compose文件如下:
version: '3.7'
services:
web:
build:
context: .
dockerfile: ./Dockerfile
ports :
- 3000:3000
env_file:
- .env
webserver:
build :
context: .
dockerfile: ./nginx/Dockerfile
links:
- 'web'
ports :
- 80:80
env_file:
- .env
redis:
build :
context: .
dockerfile: ./redis/Dockerfile
volumes:
- ../../tmp/db:/var/lib/redis/data
ports:
- '6379:6379'
sidekiq:
build: .
command: 'bundle exec sidekiq'
运行任务时,出现如下错误:
错误
1条答案
按热度按时间weylhg0b1#
在fargate任务中,确保安全组允许端口6379。在我看来,他的端口上的流量没有通过,没有通过健康检查,使任务变得不健康,并被调度程序删除。