Docker Azure DevOps+;码头工人:';apt get';不被识别为内部或外部命令

Docker Azure DevOps+;码头工人:';apt get';不被识别为内部或外部命令,docker,azure-devops,Docker,Azure Devops,我是Azure DevOps的新手,正在尝试构建我的第一个完整管道,但在构建docker映像时遇到了问题 Docker文件中的一行使管道失败,即带有apt get的管道 你有办法解决这个问题吗 这是我得到的错误(日志): 这是我的管道文件: - script: | docker image build --no-cache --tag=registry.gitlab.com/iznogood/myproject/iznogood.myproject.httpapi:1.0.0 -f .\

我是Azure DevOps的新手,正在尝试构建我的第一个完整管道,但在构建docker映像时遇到了问题

Docker文件中的一行使管道失败,即带有apt get的管道

你有办法解决这个问题吗

这是我得到的错误(日志):

这是我的管道文件:

- script: |
    docker image build --no-cache --tag=registry.gitlab.com/iznogood/myproject/iznogood.myproject.httpapi:1.0.0 -f .\src\Iznogood.Myproject\Dockerfile .
    displayName: 'Build image'
    failOnStderr: true
这是Docker文件:

### >>> GLOBALS
ARG ENVIRONMENT="Production"
ARG PROJECT="Iznogood.MyProject.HttpApi"
### <<<

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build

### >>> IMPORTS
ARG ENVIRONMENT
ARG PROJECT
### <<<

ARG NUGET_CACHE=https://api.nuget.org/v3/index.json
ARG NUGET_FEED=https://api.nuget.org/v3/index.json

# Copy sources
COPY src/ /app/src
ADD common.props /app

WORKDIR /app

RUN apt-get update && apt-get install -y libgdiplus libc6-dev && dotnet dev-certs https; \
    dotnet publish --self-contained --runtime linux-x64 -c Debug -o out src/${PROJECT};

# Start a new image from aspnet runtime image
#FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS runtime

### >>> IMPORTS
ARG ENVIRONMENT
ARG PROJECT
### <<<

ENV ASPNETCORE_ENVIRONMENT=${ENVIRONMENT}
ENV ASPNETCORE_URLS="http://+:80;https://+:443;https://+:44359" 
#ENV ASPNETCORE_URLS="http://+:80"  
ENV PROJECT="${PROJECT}.dll"

# Make logs a volume for persistence
VOLUME /app/Logs

# App directory
WORKDIR /app

# Copy our build from the previous stage in /app
COPY --from=build /app/out ./

RUN apt-get update && apt-get install -y ffmpeg libgdiplus libc6-dev

# Ports
EXPOSE 80
EXPOSE 443
EXPOSE 44359

ENTRYPOINT dotnet ${PROJECT}
###>>全局
ARG ENVIRONMENT=“生产”
ARG PROJECT=“Iznogood.MyProject.HttpApi”
###>进口
ARG环境
ARG项目
###>进口
ARG环境
ARG项目

###能否添加后缀以指定所需的机器

对于debian buster:FROM mcr.microsoft.com/dotnet/core/sdk:3.1.201-buster-AS-build

在“完整标签列表”部分中找到的标签:
检查管道并验证正在运行的操作系统。如果它是Windows映像,
apt-get
将不起作用。将管道更改为使用Linux计算机

你的问题进展如何?您是否使用合适的操作系统映像?
### >>> GLOBALS
ARG ENVIRONMENT="Production"
ARG PROJECT="Iznogood.MyProject.HttpApi"
### <<<

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build

### >>> IMPORTS
ARG ENVIRONMENT
ARG PROJECT
### <<<

ARG NUGET_CACHE=https://api.nuget.org/v3/index.json
ARG NUGET_FEED=https://api.nuget.org/v3/index.json

# Copy sources
COPY src/ /app/src
ADD common.props /app

WORKDIR /app

RUN apt-get update && apt-get install -y libgdiplus libc6-dev && dotnet dev-certs https; \
    dotnet publish --self-contained --runtime linux-x64 -c Debug -o out src/${PROJECT};

# Start a new image from aspnet runtime image
#FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS runtime

### >>> IMPORTS
ARG ENVIRONMENT
ARG PROJECT
### <<<

ENV ASPNETCORE_ENVIRONMENT=${ENVIRONMENT}
ENV ASPNETCORE_URLS="http://+:80;https://+:443;https://+:44359" 
#ENV ASPNETCORE_URLS="http://+:80"  
ENV PROJECT="${PROJECT}.dll"

# Make logs a volume for persistence
VOLUME /app/Logs

# App directory
WORKDIR /app

# Copy our build from the previous stage in /app
COPY --from=build /app/out ./

RUN apt-get update && apt-get install -y ffmpeg libgdiplus libc6-dev

# Ports
EXPOSE 80
EXPOSE 443
EXPOSE 44359

ENTRYPOINT dotnet ${PROJECT}