如何在yaml中覆盖aws ecs中docker镜像的命令

问题描述 投票:0回答:2

我不知道如何覆盖图像的默认命令。

ECSTaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      ContainerDefinitions:
        -
          Name: "app"
          Image: "xxx/xxx:v1.0.2"
          Cpu: 128
          Memory: 128
          PortMappings:
          - ContainerPort: 80
          Essential: true
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-group: !Ref LogsLogGroup
              awslogs-region: eu-west-1
              awslogs-stream-prefix: "app"
        -
          Name: "app-test-admin"
          Image: "xxx/xxx:v1.0.2"
          Cpu: 128
          Memory: 128
          PortMappings:
          - ContainerPort: 80
          Essential: true
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-group: !Ref LogsLogGroup
              awslogs-region: eu-west-1
              awslogs-stream-prefix: "app-test-admin"

dockerimage 有默认命令

CMD ["npm", "start"]
。但在第二个容器中我想用
npm run test-admin

覆盖
docker aws-cloudformation amazon-ecs
2个回答
0
投票

现在已正式记录(我认为最初情况并非如此),但为了此处的完整性,可以将其添加到 ContainerDefintions 中。例如:

  ContainerDefinitions:
    - Name: app
      Command:
        - 'celery'
        - '-A'
        - 'app1'
        - 'worker'
        - '-E'

请参阅:AWS::ECS::TaskDefinition


-1
投票

来自 Compose 文件参考

命令

覆盖默认命令。

command: bundle exec thin -p 3000

命令也可以是列表,类似于dockerfile的方式:

command: ["bundle", "exec", "thin", "-p", "3000"]
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.