首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用使用ARG定义的变量运行扩展参数

使用使用ARG定义的变量运行扩展参数
EN

Stack Overflow用户
提问于 2021-12-20 21:50:56
回答 1查看 32关注 0票数 0

这是我的简单文件。问题是行中的SCALA_VERSION变量wget -q --no-cookies ...不被插值。我不知道怎么解决这个问题。我很感激任何帮助或暗示。

代码语言:javascript
复制
ARG SCALA_MAJOR_VERSION="2.13"
ARG SCALA_MINOR_VERSION="7"
ARG SCALA_VERSION="$SCALA_MAJOR_VERSION.$SCALA_MINOR_VERSION"

FROM openjdk:18-jdk-alpine AS base
LABEL version="$SCALA_VERSION"

WORKDIR /usr/lib

RUN apk add --no-cache bash \
  && apk add --no-cache --virtual=build-dependencies wget ca-certificates \
  && wget -q --no-cookies "https://downloads.lightbend.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" -O - | gunzip | tar x \
  && apk del build-dependencies \
  && rm -rf /tmp/*

日志:

代码语言:javascript
复制
➜  compiler-toolchain git:(master) ✗ docker build . -t cool
Sending build context to Docker daemon  16.54MB
Step 1/18 : ARG SCALA_MAJOR_VERSION="2.13"
Step 2/18 : ARG SCALA_MINOR_VERSION="7"
Step 3/18 : ARG SCALA_VERSION="$SCALA_MAJOR_VERSION.$SCALA_MINOR_VERSION"
Step 4/18 : FROM openjdk:18-jdk-alpine AS base
 ---> c89120dcca4c
Step 5/18 : LABEL maintainer="boyland@uwm.edu"
 ---> Using cache
 ---> eb84f71065ca
Step 6/18 : LABEL version="$SCALA_VERSION"
 ---> Using cache
 ---> 23f11d22b6cb
Step 7/18 : WORKDIR /usr/lib
 ---> Using cache
 ---> 8762269e3700
Step 8/18 : RUN apk add --no-cache bash   && apk add --no-cache --virtual=build-dependencies wget ca-certificates   && wget -q --no-cookies "https://downloads.lightbend.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" -O - | gunzip | tar x   && apk del build-dependencies   && rm -rf /tmp/*
 ---> Running in 0cc02cf39a42
fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
(1/4) Installing ncurses-terminfo-base (6.3_p20211120-r0)
(2/4) Installing ncurses-libs (6.3_p20211120-r0)
(3/4) Installing readline (8.1.1-r0)
(4/4) Installing bash (5.1.8-r0)
Executing bash-5.1.8-r0.post-install
Executing busybox-1.34.1-r3.trigger
OK: 10 MiB in 24 packages
fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.15/community/x86_64/APKINDEX.tar.gz
(1/4) Installing libunistring (0.9.10-r1)
(2/4) Installing libidn2 (2.3.2-r0)
(3/4) Installing wget (1.21.2-r2)
(4/4) Installing build-dependencies (20211220.220536)
Executing busybox-1.34.1-r3.trigger
OK: 13 MiB in 28 packages
gunzip: invalid magic
tar: short read
The command '/bin/sh -c apk add --no-cache bash   && apk add --no-cache --virtual=build-dependencies wget ca-certificates   && wget -q --no-cookies "https://downloads.lightbend.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" -O - | gunzip | tar x   && apk del build-dependencies   && rm -rf /tmp/*' returned a non-zero code: 1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-20 22:14:49

FROM openjdk:18-jdk-alpine AS base干的。在你之前设置的基于新图像的ARG不会被结转。您需要像下面这样将ARG语句移到FROM之后

代码语言:javascript
复制
FROM openjdk:18-jdk-alpine AS base
ARG SCALA_MAJOR_VERSION="2.13"
ARG SCALA_MINOR_VERSION="7"
ARG SCALA_VERSION="$SCALA_MAJOR_VERSION.$SCALA_MINOR_VERSION"

LABEL version="$SCALA_VERSION"

WORKDIR /usr/lib

RUN apk add --no-cache bash \
  && apk add --no-cache --virtual=build-dependencies wget ca-certificates \
  && wget -q --no-cookies "https://downloads.lightbend.com/scala/${SCALA_VERSION}/scala-${SCALA_VERSION}.tgz" -O - | gunzip | tar x \
  && apk del build-dependencies \
  && rm -rf /tmp/*
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70428439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档