【问题标题】:combining cloudbees ec2 docker image with docker in docker将cloudbees ec2 docker镜像与docker中的docker结合
【发布时间】:2024-01-30 22:10:01
【问题描述】:

我正在尝试将 docker in docker 功能与cloudbees ecs 图像中的结合起来。 这两个图像都是使用不同的基于 linux 的发行版构建的。 Cloudbees ECS 从映像是使用基础 ubuntu 14.04 构建的,docker:1.8-dind 是从基础 debian:jessie 构建的。使用 debian:jessie 作为基础,将两者结合到一个 docker 镜像中的最佳方法是什么?

【问题讨论】:

    标签: jenkins amazon-ec2 docker dockerfile amazon-ecs


    【解决方案1】:

    我过去做过类似的事情,通常归结为遍历 Dockerfile 依赖链并以这种方式构建映像。在您的实例中,您可能希望从 https://hub.docker.com/r/cloudbees/java-build-tools/~/dockerfile/ 开始并换出

    FROM ubuntu:15.04
    

    FROM debian:jessie
    

    并构建它以查看哪些有效,哪些无效。通常它是一个包管理器或需要更新/替换的东西。

    这种方法的缺点是它可能需要大量的试验和错误,最终你会得到巨大的 Dockerfile,但优点是你通常可以简化你的镜像来做你想要的,而不需要大量的 Ubuntu额外的。

    【讨论】:

    • 谢谢@mchesier 我也做了同样的事情......一些包和它们的依赖是不同的故障排除相同。一个示例 jdk 8 在 jessie 中无效.. 仅支持 jdk7... 我需要弄清楚为什么.....
    • 我不想这么说,但你可能不得不移动其中一个。可能从: FROM java:7-jre 开始并从那里构建。
    最近更新 更多