我有下面的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-alpine
和runtime-deps:6.0-alpine
,我引用了mcr.microsoft.com
。
我需要从公司反工厂引用所有的图像。什么是拉这些图像和推到公司反工厂的最佳方法,以及如何推动沿着该图像的大部分设置?
谢谢。
1条答案
按热度按时间cngwdvgl1#
要将
mcr.microsoft.com/dotnet/sdk:6.0-alpine
推送到您的私有存储库中,您可以给予它一个新的标签并推送它,就像这样(假设您的存储库位于artifactory.mycompany.com
)然后,您可以在Dockerfile中将其引用为
artifactory.mycompany.com/dotnet/sdk:6.0-alpine
要创建自定义镜像,您需要使用所需的设置创建一个Dockerfile。然后构建它并给予,以
artifactory.mycompany.com/
开头,然后将其推送到公司存储库。