在多阶段构建中使用Docker Compose Args(变量扩展)

在多阶段构建中使用Docker Compose Args(变量扩展),docker,docker-compose,dockerfile,Docker,Docker Compose,Dockerfile,我试图在多阶段构建上下文中使用docker composeARGs。我的dockerfile如下所示: ARG PHP_VERSION FROM php:${PHP_VERSION} ARG COMPOSER_VERSION COPY --from=composer:${COMPOSER_VERSION} /usr/bin/composer /usr/bin/composer PHP\u版本参数工作正常。但是,第四行中的COMPOSER\u版本会导致以下错误: 错误:无法生成服务“app

我试图在多阶段构建上下文中使用docker compose
ARG
s。我的dockerfile如下所示:

ARG PHP_VERSION

FROM php:${PHP_VERSION}

ARG COMPOSER_VERSION

COPY --from=composer:${COMPOSER_VERSION} /usr/bin/composer /usr/bin/composer
PHP\u版本
参数工作正常。但是,第四行中的
COMPOSER\u版本
会导致以下错误:

错误:无法生成服务“app”:来自标志值生成器的无效:${composer\u VERSION}:引用格式无效


非常感谢您的帮助。

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