.NETCore 添加Docker支持,并上传镜像至Docker Hub,最后在CentOs中拉取镜像运行

.NET Core 项目中使用 Docker生成镜像,上传到Docker Hub中后,可在任意一台CentOs系统中拉取镜像直接运行.NET Core

第一步:下载安装Docker for Windows


 下载地址:https://oomake.com/download/docker-windows

需要优先启用虚拟化:(在Bios中开启)

开始后在任务管理器中查看:

 打开Docker Desktop。

第二步:配置Docker


申请Docker Hub账号,并登陆。申请地址:https://hub.docker.com/signup?next=%2F%3Futm_source%3Ddocker4win_2.0.0.3

设置共享驱动:(C盘必须勾上,同时需要勾上项目的所在目录)

可以在阿里云中免费申请一个镜像加速器:

基础设置完成,打开命令窗口验证。

第三步:VS新建项目,生成镜像


不勾选“启用Docker支持”,后面手动添加配置文件 

手动添加Dockerfile文件(可添加记事本后删除后缀),并添加左侧配置(注意修改dll文件名)

# 添加基础镜像:docker会从网络下载这个镜像
FROM microsoft/dotnet:2.1-aspnetcore-runtime
#容器中系统的工作空间
WORKDIR /app
#拷贝当前文件夹下的文件到容器中系统的工作空间(注意:“.”后面有空格)
COPY . /app
 
#设置Docker容器对外暴露的端口
EXPOSE 80
#容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
ENTRYPOINT ["dotnet", "MyDocker.dll"]

设置Dockerfile文件的属性

进入项目文件夹,发布项目

切换至发布目录下,通过命令生成镜像(注意命令后面有个 空格 和 .)

docker build -t mydocker:v1 .

 

新打开一个命令窗口,查看刚刚生成的镜像

第四步:上传镜像至Docker Hub


登陆Docker Hub,创建一个镜像仓库

 

使用 tag 标记本地镜像,将其上传到刚刚新建的仓库中。

docker tag mydocker:v1 ghostdao/docker1:v1
docker push ghostdao/docker1:v1

上传成功,在Docker Hub  Tags标签页中可以看到

第五步:在CentOs系统中安装Docker


参考:https://www.cnblogs.com/yufeng218/p/8370670.html 

第六步:拷贝VS发布的文件到CentOs中


使用WinSCP把整个发布目录publish,发送到CentOs系统中的mydocker文件夹下

第七步:从Docker Hub中拉取镜像


进入CentOs系统,使用终端登陆 Docker Hub (这里是已经登陆过的)

开始拉取镜像,查看结果

docker pull ghostdao/docker1:v1

使用镜像 ghostdao/docker1:v1,以后台模式启动一个容器,将容器的 80 端口映射到主机的 8088 端口,主机的目录 /publish 映射到容器(成功后,容器状态显示为Up)

docker run --name=mydocker_v1 -d -p 8088:80 -v /root/桌面/mydocker/publish:/app ghostdao/docker1:v1

访问服务器

http://192.168.1.174:8088/api/values


原文地址:https://www.cnblogs.com/ghostdao/p/10784886.html