我需要将. net6特定映像推送到公司的反工厂,然后需要将其引用到docker文件中

rjjhvcjd  于 2023-04-11  发布在  Docker
关注(0)|答案(1)|浏览(91)

我有下面的dockerfile,我正在为基于.net 6的应用程序构建

FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine AS publish
 WORKDIR /src
 COPY ContainerSample.csproj ./

 RUN dotnet restore "./ContainerSample.csproj" --runtime alpine-x64
 COPY . .
 RUN dotnet publish "ContainerSample.csproj" -c Release -o /app/publish \
 --no-restore \
 --runtime alpine-x64 \
 --self-contained true \
 /p:PublishTrimmed=true \
 /p:PublishSingleFile=true

 FROM mcr.microsoft.com/dotnet/runtime-deps:6.0-alpine AS final

 # create a new user and change directory ownership
 RUN adduser --disabled-password \
 --home /app \
 --gecos '' dotnetuser && chown -R dotnetuser /app

 # impersonate into the new user
 USER dotnetuser
 WORKDIR /app

 # use port 5000 because
 EXPOSE 5000
 COPY --from=publish /app/publish .

 # instruct Kestrel to expose API on port 5000
 ENTRYPOINT ["./ContainerSample", "--urls", "http://localhost:5000"]

这里有两张图片sdk:6.0-alpineruntime-deps:6.0-alpine,我引用了mcr.microsoft.com
我需要从公司反工厂引用所有的图像。什么是拉这些图像和推到公司反工厂的最佳方法,以及如何推动沿着该图像的大部分设置?
谢谢。

cngwdvgl

cngwdvgl1#

要将mcr.microsoft.com/dotnet/sdk:6.0-alpine推送到您的私有存储库中,您可以给予它一个新的标签并推送它,就像这样(假设您的存储库位于artifactory.mycompany.com

docker pull mcr.microsoft.com/dotnet/sdk:6.0-alpine
docker tag mcr.microsoft.com/dotnet/sdk:6.0-alpine artifactory.mycompany.com/dotnet/sdk:6.0-alpine
docker push artifactory.mycompany.com/dotnet/sdk:6.0-alpine

然后,您可以在Dockerfile中将其引用为artifactory.mycompany.com/dotnet/sdk:6.0-alpine
要创建自定义镜像,您需要使用所需的设置创建一个Dockerfile。然后构建它并给予,以artifactory.mycompany.com/开头,然后将其推送到公司存储库。

相关问题