无法使用 ECS Fargate 与 Jenkins 构建 docker 映像

问题描述 投票:0回答:1
我将 Jenkins 与 ECS Fargate 结合使用。它工作得很好,但我有一个问题,我找不到解决方案。

我有一个在容器上运行的主服务器,它还可以使用 Fargate 启动其他从属代理。 当我尝试构建 docker 镜像时出现问题。由于 Fargate 不允许访问 docker sock、守护进程或任何类型的 root 访问,因此“docker”命令会自动关闭(至少,这是我能找到的)。

如果能提供一些帮助,我们将不胜感激。提前非常感谢您!!

我尝试使用 kaniko,通过将 kaniko 二进制文件复制到其中来扩展我的从属代理映像。在基于节点的图像上它工作得很好。至少目前为止没有出现任何问题。 当我尝试构建基于 python 的图像或 nvida/cuda 图像时,kaniko 会抛出在本地计算机上执行“docker build”命令时不会发生的错误。它只是正常工作并创建图像。一些错误是:使用 apt-get install 或 apt-get update 时,镜像构建过程中存在冲突包;缺少系统库,即使它们列在“dpkg --list”中。

我尝试从我的 Fargate Master 启动 Fargate 和 ec2 映像,但无法使其正常工作。甚至不确定是否可能。

jenkins amazon-ec2 amazon-ecs cicd aws-fargate
1个回答
0
投票
我们使用相同的环境在 ECS Fargate 上构建 docker 映像。我认为问题是您在 ECS Fargate 中使用的映像有一个基础映像,然后您尝试使用 kaniko 执行器构建 docker 映像,但这个 Dockerfile 有另一个版本的基础映像,可能是不同的操作系统版本,这对 kaniko 来说是一个问题。

尝试在 ECS Fargate 容器映像和 Dockerfile 中使用相同的基础映像或相同的操作系统版本。

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