docker - 多阶段构建中的 Docker-Compose Args(变量扩展)
问题描述
我正在尝试ARG
在多阶段构建上下文中使用 docker-compose 。我的 dockerfile 看起来像这样:
ARG PHP_VERSION
FROM php:${PHP_VERSION}
ARG COMPOSER_VERSION
COPY --from=composer:${COMPOSER_VERSION} /usr/bin/composer /usr/bin/composer
这个PHP_VERSION
论点工作得很好。但是,COMPOSER_VERSION
第四行中的 导致以下错误:
ERROR: Service 'app' failed to build: invalid from flag value composer:${COMPOSER_VERSION}: invalid reference format
.
任何帮助将不胜感激。
解决方案
不支持变量扩展COPY --from
。有关详细信息,请参阅此问题。您可以通过定义一个后期复制的阶段来修改您的 Dockerfile 以实现这一点:
ARG PHP_VERSION
ARG COMPOSER_VERSION
FROM composer:${COMPOSER_VERSION} as composer
FROM php:${PHP_VERSION}
COPY --from=composer /usr/bin/composer /usr/bin/composer
推荐阅读
- r - 将 data.table 的列转换为同一 data.table 中的列表
- javascript - 如何在没有 JSX 的元素中添加自定义属性(仅使用 createElement 方法)?
- twitter-bootstrap - Bootstrap 4 使按钮响应
- java - 为什么数组显示 0 作为结果?
- c# - 如何使用 textbox.textchange 事件更改生成的 textbox.text
- r - 将 tabItems 和 sub-Items 与 shinydashboard 中的主体连接起来
- arrays - 如何将带有“数组”键的 ruby 哈希转换为 Ruby 中的嵌套哈希?
- javascript - 滚动时将其他文件中的 HTML 动态加载到页面上
- ios - 如何将 UIPageViewController 内容转换为 UIScrollView?
- google-cloud-firestore - 减少请求 Firebase 的数量