【发布时间】:2021-04-05 22:23:30
【问题描述】:
我有以下 dockerfile:
FROM jenkins/jenkins:lts-alpine
USER root
RUN apk update
RUN apk add bash icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib wget
RUN apk add libgdiplus --repository https://dl-3.alpinelinux.org/alpine/edge/testing/
USER jenkins
RUN wget https://dot.net/v1/dotnet-install.sh -O $HOME/dotnet-install.sh
RUN chmod +x $HOME/dotnet-install.sh
RUN $HOME/dotnet-install.sh -c 5.0
RUN dotnet --info
EXPOSE 2376 23676
但是当我运行 docker-compose 时,它给了我:
Building jenkins
failed to get console mode for stdout: Invalid identifier.
[+] Building 64.6s (10/11)
[+] Building 64.7s (11/11) FINISHED
=> [internal] load build definition from jenkins.dockerfile 0.0s
=> => transferring dockerfile: 486B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/jenkins/jenkins:lts-alpine 1.6s
=> [1/8] FROM docker.io/jenkins/jenkins:lts-alpine@sha256:b2f3dd63864733 0.0s
=> CACHED [2/8] RUN apk update 0.0s
=> CACHED [3/8] RUN apk add bash icu-libs krb5-libs libgcc libintl libss 0.0s
=> [4/8] RUN apk add libgdiplus --repository https://dl-3.alpinelinux.or 7.8s
=> [5/8] RUN wget https://dot.net/v1/dotnet-install.sh -O $HOME/dotnet-i 2.2s
=> [6/8] RUN chmod +x $HOME/dotnet-install.sh 0.3s
=> [7/8] RUN $HOME/dotnet-install.sh -c 5.0 52.2s
=> ERROR [8/8] RUN dotnet --info 0.5s
------
> [8/8] RUN dotnet --info:
#11 0.447 /bin/sh: dotnet: not found
------
ERROR: Service 'jenkins' failed to build
我遵循了 Microsoft 文档中的每一步,但一直失败。我在这里做错了什么?
【问题讨论】:
-
你能找到“[7/8] RUN $HOME/dotnet-install.sh -c 5.0”步骤的控制台输出吗?那里有任何错误或线索吗?我还会尝试查看当时的图像,看看路径中其他地方是否有 dotnet 二进制/脚本,例如/usr/local/bin.
-
我不知道,抱歉,我从未见过 Docker 抑制输出,只是像这样向您显示“第 7 步耗时 52 秒”。最好的猜测是 dotnet 安装在 Jenkins 用户主目录下的某个位置,因为您将它安装为 Jenkins 而不是 root,它只是不在用户路径中。 (或者它可能会将自己添加到配置文件脚本中,但在您注销并重新登录之前它不可用 - 但我从未见过在 Linux 上执行此操作,即使是作为 root 安装也是如此。)这可能是足以让 Jenkins 代理使用,所以也许这里没有什么可担心的。
-
@Rup 我想我找到了一些东西。当我在 yml 文件中使用卷时,似乎 dotnet sdk 安装正在丢失。当我不使用卷时,dotnet sdk 似乎还不错。
标签: docker jenkins .net-core docker-compose dockerfile