我想通过Dockerfile部署quarkus构建器映像。我们在代理后面,我将所有Linux代理设置都设置为大写和小写。
如果我运行Dockerfile,则会在gu命令中收到一条错误消息,以安装本机映像组件。这是Dockerfile中完整的运行语句:
# Install GraalVM
RUN curl -fsSL https://github.com/oracle/graal/releases/download/vm-${GRAALVM_VERSION}/graalvm-ce-linux-amd64-${GRAALVM_VERSION}.tar.gz > graalvm-ce-${GRAALVM_VERSION}.tar.gz && \
tar -xvf graalvm-ce-${GRAALVM_VERSION}.tar.gz && \
rm -f graalvm-ce-${GRAALVM_VERSION}.tar.gz && \
mv graalvm-ce-${GRAALVM_VERSION} /usr/lib/jvm/ && \
cd /usr/lib/jvm && \
ln -sfn graalvm-ce-${GRAALVM_VERSION} graalvm && \
alternatives --install /usr/bin/java java ${GRAALVM_HOME}bin/java 97
RUN printenv
RUN ${GRAALVM_HOME}bin/gu install native-image
它返回一条错误消息,其中包含我必须设置http_proxy。在运行该语句之前,我先启动一个printenv语句,因为可以看到设置了http_proxy env变量。
在dockerfile的那部分之前和之后,我们下载并安装其他内容。这样可行。
唯一不起作用的是gu语句。
这是返回的日志消息:
Step 10/24 : RUN printenv
---> Running in e539ee727135
...
GRAALVM_HOME=/usr/lib/jvm/graalvm/
JAVA_HOME=/usr/lib/jvm/graalvm/
HTTP_PROXY=http://This-is-a:real@proxy.com:8080/
http_proxy=http://This-is-a:real@proxy.com:8080/
HTTPS_PROXY=http://This-is-a:real@proxy.com:8080/
https_proxy=http://This-is-a:real@proxy.com:8080/
GRAALVM_VERSION=19.2.1
...
Removing intermediate container e539ee727135
---> de3d463af567
Step 11/24 : RUN ${GRAALVM_HOME}bin/gu available
---> Running in d4a04b82279c
Downloading: Component catalog from www.graalvm.org
Error: Error downloading component catalog from https://www.graalvm.org/component-catalog/graal-updater-component-catalog.properties: Invalid argument or cannot assign requested address.
Please check your connection and proxy settings. If your machine is behind a proxy, environment variables (http_proxy, https_proxy, ...) must be set appropriately.
The command '/bin/sh -c ${GRAALVM_HOME}bin/gu install native-image' returned a non-zero code: 3
答案 0 :(得分:0)
找到的不是真正的解决方案,而是解决方法。 我手动获取了该组件,并通过本地语句进行安装。 这是安装本机版本的Dockerfile片段:
### Install GraalVM native build
RUN curl -fsL -o component.jar https://github.com/oracle/graal/releases/download/vm-${GRAALVM_VERSION}/native-image-installable-svm-linux-amd64-${GRAALVM_VERSION}.jar && \
${GRAALVM_HOME}bin/gu install -L component.jar && \
rm component.jar
可行。