Fork me on GitHub

.net core Ubuntu下docker部署(精简版)

一、首先先添加一个.netCore 项目,选择启用docker(我用的是vs2019,之前的可能需要手动点击项目添加docker支持)

没有的话需要手动添加

之后你的项目会存在这个dockerfile文件

二、编辑dockerfile文件

1.右键dockerfile属性,选择始终复制

2.修改dockerfile文件内容

 

这几个要跟项目名一致

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
COPY .  /WebApplication1
WORKDIR /WebApplication1
EXPOSE 80
EXPOSE 443


ENTRYPOINT ["dotnet", "WebApplication1.dll"]

 

之后本地IIS运行一下,确保项目是能够正常运行的

ok,运行没问题,接下来项目发布成文件形式(我这边是存在publish文件下)

得到这些文件

三、接下来到Ubuntu中部署(我这边是用的vmware装的虚拟机)

把文件考到ubuntu来,(考不进来可以用WinScp或者xftp上传文件,具体怎么使用我就不多说了,具体百度)

部署也比较简单,只需要一步一步跟着来就行!

1.进入dockerfile所在的目录,构建一个名字叫做webapp的镜像注意build后面还有一个 .  (代表当前构建镜像的上下文路径)

看到这个就代表离成功就差一步之遥啦!只要启动我们刚刚创建好的容器就行了

2. 启动:

docker run --name=webapp -d -p 8044:80 webapp     

8044代表你要访问的端口号

出现这个就代表ok啦!

再来看下容器运行情况:docker ps -a

ok,木有问题,最后浏览器访问一下看看?

访问成功!到此就完成啦!

 

 

 

最后,不同的环境可能会出现各种奇奇怪怪的问题,一下提供些解决思路:

1)查看应用启动是否正常,如果有错误日志,复制错误日志去百度搜索!!!!!!!特别重要
                    
2)启动正常,则先在本机使用 CURL "http://localhost:8044/"  访问对应的接口,看是否有响应,如果有的话会返回对应页面的html源码

3)启动正常,且curl有响应,则检查是否有关闭防火墙,或者开放对应的访问端口,开放端口才可以访问

4)腾讯云和阿里云都是有安全组,类似外层防火墙,一定要去web控制台检查是否有开启端口

 

最后的最后,附带一些参考资料:

1.docker端口映射:https://www.jianshu.com/p/b92d4b845ed6

2.其他博主的简洁部署参考:https://www.jianshu.com/p/85051fbd3873

3.容器使用代码:https://www.runoob.com/docker/docker-container-usage.html

posted @ 2022-01-06 15:56  WantRemake  阅读(505)  评论(0编辑  收藏  举报