我正在部署这个
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"
您可以动态获取名称并执行您的命令:
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:此过滤器选择从特定映像创建的容器