我试图在我的Docker容器上安装curl,以便在健康检查中使用它,但我似乎无法通过运行Dockerfile中的命令安装它。以下是我的Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS base
RUN apt-get update \
&& apt-get install -y curl
WORKDIR /app
COPY /Project.MyProject .
RUN dotnet publish -o /publish
WORKDIR /publish
ENTRYPOINT ["sh", "-c", "dotnet Project.MyProject.dll \"${DB_CONNECTION}\""]
然后当我从容器内部运行任何curl
命令时,首先执行docker exec it
,然后它告诉我curl not found
。如果我在容器启动并运行时运行apt-get update && apt-get install -y curl
,那么curl安装得很好。我如何通过运行Dockerfile中的命令来安装curl?我希望避免在容器启动并运行后手动安装它。
1条答案
按热度按时间nhaq1z211#
我刚刚测试了运行apt-get更新
&& apt-get install -y curl行,它运行得很好。
看看我是怎么做到的,
定义一个以.NET核心映像为基础的阶段,该阶段将最终用作最终映像。
将基于dotnet SDK映像的另一个阶段定义为构建阶段,以便构建和发布应用程序,然后将基础映像重新用作最终映像。
这是我的dockerfile,它可以很好地构建和打包dotnet应用程序,同时安装像curl和jq这样的包。
请勾选对您有帮助的答案!