gpt4 book ai didi

ruby-on-rails - 如何使用 AWS ECS 启用 tty 并运行交互式控制台?

转载 作者:行者123 更新时间:2023-12-05 07:38:49 41 4
gpt4 key购买 nike

使用 AWS ECS 服务在 EC2 实例上部署了一个 Dockerized Rails 应用程序。我正在使用 ecs-cli 部署 rails 应用程序,它使用 docker-compose.yml 文件将容器部署为类似于 docker-compose 模式的服务.为了为我的应用程序运行交互式 shell,例如 rails console,我创建了一个具有以下定义的单独服务:

version: '2'

volumes:
app-tmp:
driver: local
app-logs:
driver: local

services:
console:
image: acc-name.dkr.ecr.us-east-1.amazonaws.com/docker_image_name:latest
command: bundle exec rails c
hostname: console
mem_limit: 314572800
env_file: ../.prod-env
tty: true
stdin_open: true
ports: []
volumes:
- "app-logs:/home/app/log"
- "app-tmp:/home/app/tmp"

但是当我使用以下命令部署任务时:

ecs-cli compose -f docker/docker-compose-console.yml --project-name app-console run console "bundle exec rails c"

标志 tty: truestdin_open: true 被忽略。因此,任务运行控制台启动,更改为 RUNNING 状态,然后以状态 0 静默关闭。

有什么方法可以运行交互式控制台 session 或拖尾日志?使用什么方法来实现类似的行为?

TL;DR:我希望通过 AWS ECS 服务实现类似于 docker-compose run app rails c 的行为。

最佳答案

在任务配置中点击Configure via JSON按钮。将 pseudoTerminal 属性更改为 true“伪终端”:true

关于ruby-on-rails - 如何使用 AWS ECS 启用 tty 并运行交互式控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47550448/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com