在Linux系统上直接运行.net core程序可以参考:https://blog.csdn.net/zxy13826134783/article/details/105908201

 

本文测试环境

centos7

 

步骤:

一  先安装docker

1  更新yum到最新(时间会比较久)

    yum update

    然后一路输入y

2 安装需要的软件包

   yum install -y yum-utils device-mapper-persistent-data lvm2

3 设置yum源为阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4  安装docker(-ce和-ee两个版本,-ee是要收费的..)

     yum install docker-ce

     然后一路y

5 查看版本,确定是否安装成功

     docker  -v

输出如下图:

利用Docker运行.net core程序

6 启动Docker

systemctl start docker

 

二   拉取asp  .net  core镜像(需要等待很久)

docker pull mcr.microsoft.com/dotnet/core/aspnet:3.1

如下图:

利用Docker运行.net core程序

三  根据镜像创建容器并启动容器

docker run -id --name=dotnet1 -v ~/DllFile:/DllFile -p 5000:5000  mcr.microsoft.com/dotnet/core/aspnet

如下图:

利用Docker运行.net core程序

四  把发布的.net core 程序通过secureCRT上传到宿主机的DllFile目录下,具体操作可以参考

https://blog.csdn.net/zxy13826134783/article/details/105908201中的那个动图

五  进入容器,并启动.net core程序

利用Docker运行.net core程序

六   在浏览器中输入http://ip:5000后输出如下图(注意:asp.net core程序时默认不支持ip来访问的,所以需要把ip改为localhost):

利用Docker运行.net core程序

注意:

当部署web程序时,发现无法通过远程访问,原因有二:

1   asp.net core默认不允许通过ip来访问,这时需要在Program中增加如下图:

利用Docker运行.net core程序

2  防火墙是否设置对应的端口为开放:

如需要开放5000端口,输入命令如下:

查询5000端口是否开放:firewall-cmd --query-port=5000/tcp

当输入为no时,输入命令:firewall-cmd --permanent --add-port=5000/tcp    来开放端口

设置完毕后,重启防火墙:firewall-cmd --reload

参考:https://www.cnblogs.com/xxoome/p/7115614.html

当然,如果是阿里云服务器或者腾讯云服务器,还需要到对应的控制台设置对端口进行放行
 

相关文章:

  • 2021-10-02
  • 2021-04-10
  • 2021-07-11
  • 2021-11-24
  • 2021-05-16
猜你喜欢
  • 2021-08-25
  • 2019-12-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-12
  • 2022-12-23
相关资源
相似解决方案