问题标签 [docker-multi-stage-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么多阶段 docker 图像比单阶段大?
我创建了一个微服务(https://github.com/staticdev/enelvo-microservice),它需要克隆一个 git 存储库以创建一个 docker 映像,使用单阶段 Dockerfile 最终映像有 759MB:
我尝试了使用多阶段构建(https://blog.bitsrc.io/a-guide-to-docker-multi-stage-builds-206e8f31aeb8)的方法来减少没有 git 和 apt-get 列表的图像大小(来自更新):
问题是,在这样做之后,最终大小变得更大(815MB)。知道在这种情况下可能出了什么问题吗?
python-3.x - 未找到 Python3 和 Docker 多阶段构建文件
我是 docker 的菜鸟,我正在尝试为 python3 构建一个多级 dockerfile
然后
输出
但是当我apt -get install python3
在release
零件中运行时,它可以完美运行吗?那么,如果我要重新安装python,为什么需要多阶段对不起,如果我听起来转储
dockerfile - 具有类数据共享的预热 Java Docker 映像
我想使用 OpenJ9 的类数据共享功能创建一个在 Java 服务上运行的 docker 映像,以提高启动性能。我想在使用多阶段 docker build 构建图像时创建类缓存。我在网上看到了一些关于预加热这样的 docker 图像的提法
https://github.com/barecode/adopt-openj9-spring-boot/blob/master/Dockerfile.openj9.warmed
但是,我无法在这里重新创建它是我的 Dockerfile
我的问题是当我跑步时
然后期望缓存文件保存在 /hi 上,该文件不存在。
任何帮助将不胜感激。谢谢。
docker - Django 应用程序退出多阶段构建映像
我正在尝试分多个阶段构建 docker 映像。我的应用在起床后立即退出
我的 Dockerfile:
我的码头工人撰写:
入口点.sh
如果我使用单阶段构建的 django 图像,一切正常。无法理解这里的问题。
docker - Docker 多阶段构建:订单
这是征求意见和意见的请求。我对 Docker 相当陌生。
我想要一个用于 Python 项目的生产和开发容器(也可能是单元测试)。我的搜索指向多阶段 Dockerfile(以及多个 docker-compose 来运行它们)。
我在该主题上找到的所有文章、评论和示例都以开发映像开头,并将其用作生产构建的 FROM(其中一些添加了测试映像)。这对我来说毫无意义。它涉及测试文件清理、删除开发/测试工具和包,从而跟踪每个包的安装原因。容易出错。
我们不应该先从最小的“生产”设置开始吗?然后为开发映像添加必要的调试工具和开发配置?
什么是正确的(指导方针?)做事方式,为什么?我想做干净的事情。
提前致谢。GG
docker - 多阶段 Docker 映像
我创建了一个多阶段 dockerfile。
我的问题是,我在基本图像中安装/创建的包和用户不会反映在最终图像中。仅从 Base 我正在创建最终映像,但是当我连接到容器时,我无法看到在基本映像中创建的用户“jenkins”并且包也丢失了。
docker - 无法在 docker 多阶段构建中使用 ARG
我正在尝试在多阶段的 docker 构建过程中使用 ARGS。
我的 Dockerfile 看起来像:
每当它在 docker 文件中获得第二个 FROM 步骤时,它就会失败并出现错误invalid reference format
,因为它无法识别获取图像的语法。
我的假设是它不知道ARG
在多阶段 docker 构建中进行处理。
docker - 是否可以在多阶段 docker 构建期间将文件复制到主机?
我编写了以下内容Dockerfile
来容器化 Maven 构建:
第二阶段复制第一阶段构建的 jar 文件,以便它可以使用它ENTRYPOINT
,但我还希望 docker 主机target
从容器中获取整个目录的副本,因为它包含其他构建工件,如代码覆盖率和分析报告。
具体来说,我希望副本作为docker build -t fakefirehose .
这可能吗?
linux - Dockerfile 在一个阶段从源代码构建,然后在第二阶段复制和安装
我是 docker 和 linux 的新手。
我在 Alpine 基础映像上运行,我希望使我的映像尽可能干净和轻量级。我必须在我的 Dockerfile 中构建和安装一些包,特别是这个.
我想知道是否有任何方法可以让我使用 docker 多阶段构建并在一个阶段构建 MariaDB 连接器并将文件复制到下一阶段,然后将其安装在那里。
我尝试在单独的目录中构建它并将其复制到另一台机器以查看是否可行,但我遇到了一个问题,即如果没有构建目录之外的许多文件,它就无法安装。
docker - 使用来自两个基本映像的文件
我有两个泊坞窗图像。Image x 只是将一些文件复制到图像中,Image y 复制其他文件并安装一些需要的库。我想构建基于这两个图像的第三个 dockerfile=z 。
z 示例:
从 x 。.
从 y 。.
如何构建可以使用来自 x 和 y 的文件的 dockerfile z?