首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从Dockerfile安装curl

如何从Dockerfile安装curl
EN

Stack Overflow用户
提问于 2022-09-11 11:01:48
回答 1查看 1.1K关注 0票数 1

我试图在我的Docker容器上安装curl,以便在健康检查中使用它,但是我似乎可以通过在Dockerfile中运行命令来安装它。这是我的Dockerfile:

代码语言:javascript
运行
复制
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?我想避免在容器启动和运行后手动安装它。

EN

回答 1

Stack Overflow用户

发布于 2022-10-25 14:36:51

我刚刚测试了运行apt-get更新

&& apt-获得安装-y卷线,它运行良好。

看看我是怎么做到的

定义一个以.NET核心图像为基础的舞台,它最终将被用作最终图像。

在dotnet映像的基础上定义另一个阶段作为构建,以便构建和发布应用程序,然后重用基本映像作为最终映像。

这里是我的dockerfile,它可以很好地构建和打包dotnet应用程序,同时还可以安装curl和jq等软件包。

代码语言:javascript
运行
复制
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM dotnet/aspnet:5.0 AS base

WORKDIR /app

RUN apt-get update \
    && apt-get install -y curl jq 
    
EXPOSE 80
EXPOSE 443

FROM dotnet/sdk:5.0 AS build

WORKDIR /src


COPY ["PROJECT.csproj", "project/"]

RUN dotnet restore "project/project.csproj" 
COPY . .
WORKDIR "/src/API"

RUN dotnet build "project.csproj" -c Release -o /app/build
FROM build AS publish

RUN dotnet publish "project.csproj" -c Release -o /app/publish

RUN dotnet test "../project.Test" \ 
    /p:CollectCoverage=true \ 
    /p:CoverletOutputFormat=opencover \ 
    /p:CoverletOutput="./../coverage" \
    /p:Include=\"[project.BLL]*,[project.Model]*\"

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


You can see that the final image is the one that depends on the base image with installed curl and jq

如果它对你有帮助,请在答案上打勾!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73678713

复制
相关文章

相似问题

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