簡體   English   中英

/bin/sh: [./文件名]: 未找到

[英]/bin/sh: [./Filename]: not found

FROM mcr.microsoft.com/dotnet/runtime:6.0-alpine as base
WORKDIR /app

RUN apk add --no-cache ca-certificates icu-libs

RUN apk add --no-cache tzdata
RUN apk add --no-cache bash

ENV TZ=America/Chicago
#This will update the image to avoid security issues.
RUN apk update
RUN apk upgrade
RUN apk add bash
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build
WORKDIR /src

COPY ["Filename/Filename.csproj", "Filename/"]


RUN dotnet restore "Filename/Filename.csproj" --configfile NuGet.Config 
COPY . .
WORKDIR "/src/Filename"
RUN dotnet build "Filename.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Filename.csproj" -c Release -o /app/publish  --runtime alpine-x64 --self-contained true /p:PublishTrimmed=true /p:PublishSingleFile=true

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
#ENTRYPOINT ["dotnet", "Filename.dll"]
ENTRYPOINT [./"Filename"]

我有一個帶有 Dotnet 6.0 的控制台應用程序。 但是,我的 dockerfile 腳本構建成功,但在部署到服務器時在運行時失敗,錯誤為:/bin/sh: [./Filename]: not found

我的圖像在 dotnetcore 3.1 和腳本 runtime-deps:3.1-alpine AS 基礎上運行良好。 那么為什么它需要 /bin/sh: 當它在 dotnet 6.0 中時。 你如何解決這個問題? 任何幫助是極大的贊賞。

更改 dockerfile 末尾的入口點:

ENTRYPOINT ["./Filename"]

更新你的 dockerfile 你可以使用它,它會解決問題..!!!

FROM mcr.microsoft.com/dotnet/runtime:6.0-alpine as base
WORKDIR /app

RUN apk add --no-cache ca-certificates icu-libs

RUN apk add --no-cache tzdata
RUN apk add --no-cache bash

ENV TZ=America/Chicago
#This will update the image to avoid security issues.
RUN apk update
RUN apk upgrade
RUN apk add bash
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false

FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS build
WORKDIR /src

COPY ["Filename/Filename.csproj", "Filename/"]


RUN dotnet restore "Filename/Filename.csproj" --configfile NuGet.Config 
COPY . .
WORKDIR "/src/Filename"
RUN dotnet build "Filename.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Filename.csproj" -c Release -o /app/publish  --runtime alpine-x64 --self-contained true /p:PublishTrimmed=true /p:PublishSingleFile=true

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
EXPOSE portnumber
ENV ASPNETCORE_URLS http://*:portnumber
ENTRYPOINT ["dotnet", "Filename.dll"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM