如何将dotnet core webapi发布到docker中…

2023-04-22,,

如何将dotnet core webapi发布到docker中

今天想起来撸一下docker,中途还是遇到些问题,但是这些问题都是由于路径什么的导致不正确,在这儿还是记录下操作过程,今天是基于windows来操作docker,先把windows搞定,后面再去Linux上搞docker。

1、前提条件

Win10系统,不能是家庭版,并且需要开启Hyper-V
官网下载并安装:docker desktop for window
注册一个docker hub的账号,用于后面可以把镜像推送到在线仓库中
本地dotnet core开发环境

2、安装docker

下载docker desktop后直接根据提示进行安装
安装完成之后,打开CMD命令框,输入docker --version 能看到版本号就说明安装成功了

登录dockerhub账号:docker login回车根据提示输入你的账号密码即可
cmd输入:docker run hello-world 拉取镜像并且运行一个容器

cmd输入:docker image ls 查看镜像列表

cmd输入:docker container ls 查看运行的容器列表
CMD输入:**docker --help** 可以查看docker命令的帮助信息

3、创建WebApi,编译发布到指定目录

4、在WebApi发布目录中建立DockerFile文件,添加如下内容

# 基于microsoft/dotnet:latest构建Docker Image
# FROM microsoft/dotnet:latest
# FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-nanoserver-1903 # 将publish下的所有文件拷贝到工作目录
COPY *.* ./ # 端口
EXPOSE 5000 # 启动webapi
CMD ["dotnet", "WebApi.dll"]

5、CMD进入WebApi发布目录,构建WebApi镜像,并启动容器

CMD输入命令:docker image build -t yazid2020/test_webapi:1.0.1 .

启动容器:docker run -it -p 8089:5000 yazid2020/test_webapi:1.0.1

然后去访问接口,能看到已经能得到响应了

6、将镜像推送到docker hub中

在docker hub中先建立一个Repository镜像仓储【yazid2020/test_webapi】

将镜像推送到仓储:docker push yazid2020/test_webapi:1.0.1,这里可能会提示未登录,使用docker login登录即可

到这里就完成了将core webapi发布到docker中,并且将镜像推送到在线仓储,以后再次使用这个镜像时,直接拉取运行即可

    docker pull yazid2020/test_webapi:1.0.1
docker run -it -p 8089:5000 yazid2020/test_webapi:1.0.1
# -it:表示需要提供一个模拟的shell环境
# -p 8089:5000:表示将DockerContainer的5000端口映射到主机环境的8089端口 不完善,或者还可以改进的地方可以给我留言,感谢!

如何将dotnet core webapi发布到docker中…的相关教程结束。

《如何将dotnet core webapi发布到docker中….doc》

下载本文的Word格式文档,以方便收藏与打印。