无法使用ECS Fargate使用Jenkins构建Docker镜像

tpgth1q7  于 12个月前  发布在  Jenkins
关注(0)|答案(1)|浏览(202)

我使用Jenkins与ECS Fargate。它工作得很好,但我有一个问题,我找不到解决方案。
我在一个容器上运行了一个master,它可以使用fargate启动其他slave代理。当我尝试构建docker镜像时,问题就出现了。由于fargate不允许访问docker sock,daemon或任何类型的root访问,“docker”命令会自动关闭(至少,这是我能发现的)。
一些帮助将非常感谢。非常感谢你提前!!
我尝试使用kaniko,通过复制kaniko二进制文件来扩展我的Slave Agent镜像。在基于节点的镜像上,它工作得很好。至少到目前为止没有问题。当我尝试构建基于python的镜像或nvida/cuda镜像时,kaniko抛出错误,当我在本地机器上执行“docker build”命令时不会发生错误。它只是正常工作并创建镜像。一些错误是:当使用apt-get install或apt-get update时,在映像构建过程中会发生软件包冲突;丢失系统库,即使它们列在“dpkg --list”中。
我试着从我的fargate master中启动fargate和ec2图像,但是不能让它工作,甚至不确定这是否可行。

lf3rwulv

lf3rwulv1#

我们在ECS Fargate上使用相同的环境来构建Docker镜像。我认为问题是你在ECS Fargate中使用的镜像有一个基础镜像,然后你尝试使用Kaniko执行程序构建Docker镜像,但是这个Dockerfile有另一个版本的基础镜像,可能是不同的操作系统版本,这对Kaniko来说是一个问题。
请尝试在ECS Fargate容器镜像和Dockerfile中使用相同的基础镜像或操作系统版本。

相关问题