beanstalk docker - 如何使用 Docker.run.json v1 设置容器名称

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

我正在部署这个

Docker.run.json
文件及其工作。

{
    "AWSEBDockerrunVersion": "1",
    "Image": {
        "Name": "xxxxxx.dkr.ecr.us-east-1.amazonaws.com/myproject:build-xxxx-xxx-xxx-xx-xxx",
        "Update": "true"
    },
    "Ports": [
        {
            "ContainerPort": 80,
            "HostPort": 80
        }
    ]
}

现在我需要使用

.ebextensions
创建一个 cron 来在容器内运行命令。

问题是容器总是以随机名称运行。

有什么方法可以定义容器名称,以便我可以在其中运行命令吗?

docker exec MY_CONTAINER echo "Hello world"
amazon-web-services docker amazon-elastic-beanstalk
1个回答
0
投票

您可以动态获取名称并执行您的命令:

files:
  "/etc/cron.d/container-cron":
    mode: "000644"
    owner: root
    group: root
    content: |
      * * * * * root docker exec $(docker ps --filter "ancestor=xxxxxx.dkr.ecr.us-east-1.amazonaws.com/myproject" --format "{{.Names}}") echo "Hello world" >> /var/log/cron.log 2>&1

commands:
  cron_reload:
    command: "service cron restart"

ancestor=IMAGE_NAME:此过滤器选择从特定映像创建的容器

© www.soinside.com 2019 - 2024. All rights reserved.