[Centos7] 基于 docker 部署 .Net Core项目并运行

按照以下步骤逐步执行即可

1、安装docker

本人文章:https://blog.csdn.net/qq_39788123/article/details/117747936

2、发布netcore项目,bin\Debug\netcoreapp2.2\publish\    我是发布到这个路径下。

然后把打包好的文件上传到服务器,我是使用的FTP,我在计算机根目录新建了一个web文件夹,路径是:

web/netcore-jinruihomefurnishing/publish

publish是打包好的项目 。

3、在publish文件夹同级创建文本文件命名为(Dockerfile)内容:

FROM microsoft/dotnet:2.2-aspnetcore-runtime
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
WORKDIR /app
COPY /publish .
ENV enableDistribution=false
ENTRYPOINT ["dotnet", "JinRuiHomeFurnishingNetCoreMVC.dll"]

直接替换即可

FROM :选择自己的dotnet版本,来构建我们的镜像;

COPY:拷贝项目publish文件夹中的所有文件到 docker容器中(注:后面有一个空格和一个点)

ENTRYPOINT:使用`dotnet JinRuiHomeFurnishingNetCoreMVC.dll`来运行应用程序

4、上面上传文件和配置好Dockerfile文件之后。我们需要来构建一个docker的镜像,首先cd切换到publish文件夹的上一级文件夹,

切换目录:首先切换到计算机根目录:cd ..

然后切换到publish文件夹的上一级文件夹:cd web/netcore-jinruihomefurnishing

然后在当前目录下构建镜像,命令: docker build -t haha:1.0.0 .

haha:1.0.0 .           前面是自定义名称,1.0.0是自定义版本号

haha要打包的目录同级必须有Dockerfile,且Dockerfile内路径对应:COPY /publish .

 应该会下载两个镜像,第一个就是我们构建的镜像,第二个就是微软拉取的dotnet:2.2-aspnetcore-runtime镜像,

可以用命令: docker images  查看下有没有,如

 

 5、然后就可以创建docker容器,并启动容器,然后就可以跑项目了

使用命令:

docker run -dt -p 5032:80 -v /log:/app/log --name JinRuiHomeFurnishingNetCoreMVC haha:1.0.0

解释:-p 指定端口;--name 后面是自定义容器名称,最后面是镜像名称;

 此时新建的 JinRuiHomeFurnishingNetCoreMVC容器就启动了。

可以使用命令 docker ps 查看当前docker正在运行的容器

最后就可以运行项目了:

比如我的项目(我配置了一个swagger,无所谓了),也可以访问到了:

6、上面就完结了,但是服务器如果宕机或重启了,docker容器就会终止,此时就可以使用命令:

docker start containId   开启容器

containId可以用 docker ps -a 查询出所有的容器列表之后得到:

 上面这只是其中一种容器的启动方式。如果想做其他的容器方式的话可自行百度或者参考大佬:

https://www.cnblogs.com/linjiqin/p/8608975.html


常用命令:

  • docker rm containerId             根据容器id删除容器
  • docker rmi imageId                  根据镜像id删除镜像
  • docker ps                                  查看docker正在运行的容器
  • docker ps -a                              查看docker运行和关闭的  所有容器
  • docker start containerId          可以用于开始已经终止的容器
  • docker stop containerId          停止正在运行的容器
  • docker images                          查看所有镜像
  • cat Dockerfile                            查看文件内容
  • cd                                               切换目录 例如  cd publish/
  • cd ..                                             回到上一层
  • mkdir                                          用于创建目录。  例如 mkdir haha
  • rm -f                                            删除目录  例:rm -f haha
  • systemctl restart  docker         重启docker服务
  • systemctl start docker              启动docker

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值