照例,先亮环境;软件的话我这里假设你已经批准好了.net core 运行环境,未配置能够看个人这篇[linux(centos)搭建.net core 运行环境]html
腾讯云linux
centos:7.2
cpu:1核 2G内存 1M带宽web
docker:18.06.1-cedocker
安装其实很简单,就不重复说了,请查看纯洁大神这篇文章windows
我这里新建一个空的.net core web程序用以演示,实际部署时是你的项目centos
建立web项目(我本身使用vs2017 ,如使用vscode的须要本身安装windows的SDK和使用dotnet命令)浏览器
首先确保你的项目能在windows上运行服务器
修改一下运行绑定的的端口号app
添加Dockerfilewebapp
填入以下内容
FROM microsoft/dotnet:2.1-aspnetcore-runtime WORKDIR /app COPY . . ENTRYPOINT ["dotnet", "WebApplication3.dll"]
并设置Dockerfile的属性
!
ok,接下来发布
我发布到默认的 bin\Release\netcoreapp2.1\publish 下面,大家能够自定义目录
发布完成后可看到以下文件结构
ok,web程序已经准备好。
上传应用程序到linux
我这里使用xftp工具上传,上传目录是 /home/website/WebApplication3
执行:
cd /home/website/WebApplication3 docker build -t webapplication3 .
这里是去到Dockerfile所在的目录,构建一个名字叫作webapplication3的镜像,注意build命令后面的
.
不可获取,这个.
表明的是当前构建镜像的上下文路径;
看到Successfully心情莫名愉悦,这说明镜像构建成功,我使用命令docker images
看看:
执行下面命令,启动咱们刚刚构建好的webapplication3 容器
docker run --name webapplication3 -d -p 5004:5004 webapplication3
这样表示容器正常启动了
咱们看看:
docker ps
容器正常运行,浏览器访问 http://你的服务器ip:5004
噢耶,大功告成!
至此,.net core 程序docker部署方式完毕,若使用服务方式部署,请看个人 Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署