vs2019(开发工具) xftp5(文件上传工具) Linux系统(部署环境)
流程开始
新建一个.net5的 WebApi项目
这里启用不起用Docker无所谓,没有Docker后面我们可以在添加
可以先运行起来,直接使用自带的测试数据
接下来右键项目->添加->Docker支持->默认Linux,就会有DockerFile文件了
右键Dockerfile,选择属性,将文件属性不复制改为始终复制
对生成Dockerfile文件进行修改,后面Dockerfile都按这个模板来
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS runtime
WORKDIR /app
EXPOSE 80
COPY . .
ENTRYPOINT ["dotnet", "ApiTest.WebApi.dll","--urls=http://*:6666"]
接下来发布项目
右键 你的项目,选择发布,选择文件夹 ,点击下一步,完成,路径也不用动,默认就行
点击发布,发布成功后,通过Xftp5上传发布的文件到Linux,这里我使用的Ubuntu系统,系统自行装好Docker,Docker安装的教程CSDN大佬基本都有
将这些文件都传到Linux系统,Linux上的文件夹自己创建好,最好是普通用户,Root用户创建可能有权限问题,进行docker操作的时候需要使用root权限
镜像创建完,,将镜像部署在Docker容器
运行结果,图一是主机项目运行结果,图二是容器访问结果
问题
1.第一次部署成功后,发现一直无法访问,最后在大佬的帮助下是容器没网,重启下容器就好了
systemctl restart docker
service docker restart
两个命令课重启docker服务,所以在镜像挂载在容器前,重启下服务
2.微软SDK没有的需要装,CLI运行的情况下,必须装,装完之后发现Docker也有了
在 Ubuntu 上安装 .NET - .NET | Microsoft Docs
安装时注意SDK需要和项目版本一致,这里是.net5 ,那SDK就得知道.net5版本,否则运行时版本错误报错
第一次写博客,最近遇到的坑太多了,所以分享一下,写的不好的地方望指正



