如何在 AWS ECS fargate 集群中容器启动 运行 之前使外部文件可用
How to make external file available before the container starts running in AWS ECS fargate cluster
我是 docker 的新手,我有一个 docker 文件,其中包含构建 docker 图像的所有说明。该图像必须部署在 AWS Fargate 集群中。现在我有一个 python 脚本可以执行以下操作:
1. clone a repo from GitHub
2. Locate the docker file, build the image and push the docker image to AWS ecr
3. Create a task definition and deploy into ECS fargate cluster
4. Additionally the script generate a YAML file based on certain logic that has certain parameters(not related to container config) which is required for the application
如何在容器在 AWS 中启动 运行 之前使该文件内容可供容器使用?
我正在检查 --entrypoint 和 --cmd,但在这里我无法更改 Dockerfile
Is there any way to achieve that without changing the Dockerfile?
如果没有 Dockerfile,则无法向 docker 图像添加层。但是您可以在原始图像之上构建一个 new 图像,COPY
ing 文件并保留 ENTRYPOINT
CMD
和其他配置 as-is.
从上游 Dockerfile 构建“中间”镜像,给它一个标签,你可以稍后参考:
docker build -t my-intermediate-image:my-version-tag .
创建你的 yaml 文件到 myfile.yml
创建一个新的Dockerfile.final
开始FROM
中间:
FROM my-intermediate-iamge:my-version-tag
COPY myfile.yml /expected/yaml/path
构建带有 ECS 标签的最终镜像:
docker build -f Dockerfile.final -t accountnumber.ecs.amazonaws.com:my-version .
将最终镜像标签推送到ECS
继续更新 ECS 任务定义以指向新映像
我是 docker 的新手,我有一个 docker 文件,其中包含构建 docker 图像的所有说明。该图像必须部署在 AWS Fargate 集群中。现在我有一个 python 脚本可以执行以下操作:
1. clone a repo from GitHub
2. Locate the docker file, build the image and push the docker image to AWS ecr
3. Create a task definition and deploy into ECS fargate cluster
4. Additionally the script generate a YAML file based on certain logic that has certain parameters(not related to container config) which is required for the application
如何在容器在 AWS 中启动 运行 之前使该文件内容可供容器使用? 我正在检查 --entrypoint 和 --cmd,但在这里我无法更改 Dockerfile
Is there any way to achieve that without changing the Dockerfile?
如果没有 Dockerfile,则无法向 docker 图像添加层。但是您可以在原始图像之上构建一个 new 图像,COPY
ing 文件并保留 ENTRYPOINT
CMD
和其他配置 as-is.
从上游 Dockerfile 构建“中间”镜像,给它一个标签,你可以稍后参考:
docker build -t my-intermediate-image:my-version-tag .
创建你的 yaml 文件到
myfile.yml
创建一个新的
Dockerfile.final
开始FROM
中间:FROM my-intermediate-iamge:my-version-tag COPY myfile.yml /expected/yaml/path
构建带有 ECS 标签的最终镜像:
docker build -f Dockerfile.final -t accountnumber.ecs.amazonaws.com:my-version .
将最终镜像标签推送到ECS
继续更新 ECS 任务定义以指向新映像