.net core 生成docker 镜像并将Docker - 制作好的镜像上传到Docker Hub仓库

选择项目->添加->docker 支持,这是选择 Linux,Windows的生成会有很多问题

#方式一

 

 

 打开Dockerfile更改

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
RUN apt-get update && apt-get install -y libgdiplus
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY ./**/*.csproj ./
RUN for file in $(ls *.csproj); do mkdir -p ./${file%.*}/ && mv $file ./${file%.*}/; done
RUN dotnet restore "WebSerivce/WebSerivce.csproj"
COPY . .
WORKDIR "/src/WebSerivce"
RUN dotnet build "WebSerivce.csproj" -c Release -o /app/build

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

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

选择Dockerfile右击生成镜像

#方式二
先发布后到发布路径文件添加Dockerfile文件

 

 

Dockerfile文件内容如下,WebSerivce.dll更改为自己项目dll
# 声明使用的基础镜像
FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base

# 设置工作目录
WORKDIR /app

# 将本地应用拷贝到 容器 /app/ 目录下 "./"代表的就是/app 因为dockerfile文件和程序文件都在发布文件夹下 所以两个目录是一样的
COPY ./ ./

#设置环境变量,修改.netCore 默认的80端口
ENV ASPNETCORE_URLS http://+:5000

# 设置导出端口
EXPOSE 5000

# 指定应用入口点 NetCore.dll代表的是主程序文件
ENTRYPOINT ["dotnet", "WebSerivce.dll"]

生成镜像

运行cmd或Windows PowerShell 进行发布好的文件路径 

 

 打包生成镜像 

docker build -t mycore . (mycore是自定义的镜像名称,镜像名称必须小写,注意命令中的最后一个点 代表的是命令从你的当前目录下执行)

 

 打开docker查看生成的镜像

 

 启动运行(这里的5000:5000 代表把容器内的5000端口映射到你主机的5000端口)

docker run -it -p 5000:5000 mycore

 

 

 

 

 

 

 

Docker - 将制作好的镜像上传到Docker Hub仓库

账号注册与登录

(1)首先在 Docker Hub 上注册一个账号:

    注册地址:https://hub.docker.com/

2,修改镜像 repository

上传镜像前我们必须通过 docker tag 命令修改镜像的 repository,使之与 Docker Hub 账号匹配。

Docker Hub 为了区分不同用户的同名镜像,镜像的 registry 中要包含用户名,完整格式为:[username]/xxx:tag

3,上传镜像

(1)我们使用 docker push 命令将镜像上传到 Docker Hub:

docker push  nakago/mycore:v1

 

 

 

上面命令执行后 Docker 便会上传镜像的每一层

4,查看、使用镜像

(1)我们登录 Docker Hub,在 Public Repository 中就可以看到上传的镜像了。

 

 

 2)当然这个镜像也可以被其它 Docker host 下载使用。

docker pull nakago/mycore:v1

 

posted @ 2021-09-01 17:46  StarFox  阅读(808)  评论(0编辑  收藏  举报