广告
返回顶部
首页 > 资讯 > 精选 >怎么在Docker中部署 ASP.NET Core应用
  • 904
分享到

怎么在Docker中部署 ASP.NET Core应用

2023-06-15 09:06:28 904人浏览 薄情痞子
摘要

本篇文章为大家展示了怎么在Docker中部署 ASP.net core应用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、系统环境腾讯云轻量应用服务器Centos7.6二、操作流程及途中遇到的问题

本篇文章为大家展示了怎么在Docker中部署 ASP.net core应用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一、系统环境

腾讯云轻量应用服务器Centos7.6

二、操作流程及途中遇到的问题

ssh方式远程linux

ssh <username>@<IP address or domain name>

如果遇到下图问题:

怎么在Docker中部署 ASP.NET Core应用

出现这个问题的原因:known_hosts是记录远程主机的公钥的文件,之前重装个系统,而保存的公钥还是未重装系统的系统公钥,在ssh链接的时候首先会验证公钥,如果公钥不对,那么就会报错
解决方法:使用shh-keygen 命令ssh-keygen -R IP,执行完毕出现下图:

怎么在Docker中部署 ASP.NET Core应用

然后重新使用ssh方式远程Linux:

怎么在Docker中部署 ASP.NET Core应用
怎么在Docker中部署 ASP.NET Core应用

更新系统

sudo yum update

安装git

sudo yum -y install git

安装Nginx,启用和启动服务:

sudo yum install nginx
sudo systemctl enable nginx
sudo systemctl start nginx

安装dotnet SDK

每台计算机只需要执行一次此操作。

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-5.0

安装Docker环境

1)安装Docker源:

首先,我们可以先执行下卸载命令,如果你之前安装过,或者系统自带了,需要卸载干净:

sudo yum remove docker-ce

然后我们就可以安装指定的源了,有官方版本和阿里云版本,我这里尝试使用阿里云版本的吧,听说会快一些。
Step 1: 安装必要的一些系统工具

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

Step 2: 添加软件源信息

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

Step 3: 更新并安装Docker-CE

sudo yum makecache fast (可选)
sudo yum -y install docker-ce

Step 4: 开启Docker服务

sudo service docker start

设置docker开机启动

systemctl enable docker

启动docker

systemctl start docker

查看版本

docker --version

Docker常用命令

查看所有镜像 docker images
删除一个imageid的镜像

docker rmi [imageid]

删除所有镜像

sudo docker rmi $(docker images -q)

查看所有容器运行状态

docker ps -a

删除一个containerid的容器(实例)

docker rm [containerid]

删除所有容器

docker rm $(sudo docker ps -a -q)

2)测试Hello World

检查docker是否可以正常运行(运行hello-world镜像,如果本机没有hello-world镜像,系统会自动拉取hello-world镜像)

docker run hello-world

这个时候,我们可以来检查一下:
当前服务器有哪些镜像:

docker images

那如何查看有哪些容器呢:

docker ps -a

这个就是刚刚我们看到有输出内容的容器:容器ID是eb180038a3ce,镜像是hello-world,状态是已退出。

怎么在Docker中部署 ASP.NET Core应用

发布自己的镜像

1)添加Docker支持:

自定义项目要暴露的接口

怎么在Docker中部署 ASP.NET Core应用

api层右键添加Docker支持,选择Linux

怎么在Docker中部署 ASP.NET Core应用

更改Dockerfile文件

怎么在Docker中部署 ASP.NET Core应用

FROM:意思是我们的项目源镜像是哪个;
WORKDIR:镜像的工作目录;
COPY:复制文件(将Dockerfile所在目录下文件复制到镜像中的工作目录中)
EXPOSE:容器要开放的端口(我们用项目的8081端口)
ENTRYPOINT:为容器启动后要执行的命令 (这里将执行dotnet Docker.Core.Api.dll命令)

2个脚本文件:Docker.Core.Publish.Linux.sh和Docker.Core.Publish.Docker.sh

怎么在Docker中部署 ASP.NET Core应用
怎么在Docker中部署 ASP.NET Core应用

Dockerfile:然后右键,始终属性、始终复制到输出(bin)目录
接下来把项目发布到GitHub或者Gitee:我这里是发布到github然后去码云强制同步项目,从国内clone项目速度更快

2)发布

我们在服务器用Git将代码PULL下来,然后执行发布命令,我用一个批处理文件,直接一键生成(主要是防止漏掉文件):

怎么在Docker中部署 ASP.NET Core应用

执行发布命令:

怎么在Docker中部署 ASP.NET Core应用

就可以看到生成好的发布文件夹PublishFiles。
接下来就是docker 编译镜像了。

3)创建镜像

进入到我们的发布文件夹PublishFiles文件夹下,我们测试一下这个文件是否正常:

dotnet Docker.Core.Api.dll

怎么在Docker中部署 ASP.NET Core应用

没问题后,开始build了,还是在当前文件夹下(记得那个点):

docker build -t lenceas/apkimg .

怎么在Docker中部署 ASP.NET Core应用

其中lenceas/apkimg是我们的镜像名。
因为我们的Dockerfile是五步,所以这里也正好是5个Step。
然后查看机器上的镜像:

怎么在Docker中部署 ASP.NET Core应用

这里多了两个镜像,一个是我们的镜像ID为48252cd5c2d0,大小209M的项目文件,一个是我们Dockerfile的源镜像。

4)推送镜像到Docker hub仓库

在Docker hub注册账号
第二步:创建仓库

怎么在Docker中部署 ASP.NET Core应用

服务器镜像推送
先登录账号(这里如果以前登录过,可以先退出再重新登录)

怎么在Docker中部署 ASP.NET Core应用

推送:

docker push lenceas/apkimg:latest

怎么在Docker中部署 ASP.NET Core应用

检查:
我们登录管理后台,查看结果

怎么在Docker中部署 ASP.NET Core应用

可以看到已经成功推送了,这样的话,我们就可以在任何的地方使用我的镜像啦。
现在我们有了镜像,那就可以创建容器了,因为有了容器才能运行。

生成并运行容器

1)生成容器

有了镜像,我们来生成一个容器:

docker run -it -p 8081:8081 lenceas/apkimg

怎么在Docker中部署 ASP.NET Core应用

会看到输出内容,如果没有报错的话,就恭喜啦,退出当前进程,查看下有哪些容器:

怎么在Docker中部署 ASP.NET Core应用

这时候可以看到多了一个容器ID为e45b93658007,镜像是lenceas/apkimg的容器,不过我们的项目容器是退出状态,需要开启下:

docker start e45b93658007

怎么在Docker中部署 ASP.NET Core应用

状态已经是运行中了,那怎么测试接口是否正常了呢,可以用curl命令:

curl http://localhost:8081/WeatherForecast

怎么在Docker中部署 ASP.NET Core应用

如果到了这里,恭喜你,Docker部署netcore基本已经搞定了
剩下最后一步了,nginx代理,因为我们的Docker已经守护了这个进程,所以我们不需要其他的守护进程的工作。

Nginx代理服务

修改nginx.conf文件,两种方式:
1.vim 命令
编辑文件:vim xxx
插入开始编辑:i
保存并退出::wq!
2.FTP下载到本地修改
这里具体的配置就不写了,网上可以自己去搜.

接下来就是重启Nginx服务,首先可以检测语法错误:

nginx -t

怎么在Docker中部署 ASP.NET Core应用

nginx -s reload

怎么在Docker中部署 ASP.NET Core应用

上述内容就是怎么在Docker中部署 ASP.net core应用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么在Docker中部署 ASP.NET Core应用

本文链接: https://www.lsjlt.com/news/279321.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在Docker中部署 ASP.NET Core应用
    本篇文章为大家展示了怎么在Docker中部署 ASP.NET Core应用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、系统环境腾讯云轻量应用服务器CentOS7.6二、操作流程及途中遇到的问题...
    99+
    2023-06-15
  • 使用Docker部署ASP.NET Core程序
    一、前言 这篇文章介绍如何将一个ASP.NET Core应用程序在Docker中进行部署。开发工具使用的是Visual Studio 2019和VS Code。 二、使用Docker...
    99+
    2022-11-13
  • Linux上使用Docker部署ASP.NET Core应用程序
    一、创建 1、创建应用程序 使用ASP.NET Core创建一个MVC应用程序,并修改Home控制器Index视图代码: @{ ViewData["Title"] = "Ho...
    99+
    2022-11-13
  • 如何使用Docker部署ASP.NET Core程序
    这篇文章将为大家详细讲解有关如何使用Docker部署ASP.NET Core程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言这篇文章介绍如何将一个ASP.NET Core应用程序在Do...
    99+
    2023-06-29
  • Linux上如何使用Docker部署ASP.NET Core应用程序
    这篇文章将为大家详细讲解有关Linux上如何使用Docker部署ASP.NET Core应用程序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、创建1、创建应用程序使用ASP.NET Core...
    99+
    2023-06-29
  • Linux系统Docker 部署 ASP.NET Core应用的流程分析
    目录一、系统环境二、操作流程及途中遇到的问题一、系统环境 1、腾讯云轻量应用服务器CentOS7.6 二、操作流程及途中遇到的问题 1、SSH方式远程Linux ssh <u...
    99+
    2022-11-12
  • 在Linux+Jexus中发布和部署Asp.Net Core
    目录安装 Linux DotNet 环境新建一个 WebApp 项目,并发布使用 Jexus 进行反向代理Jexus 介绍安装 Jexus配置 Jexus注意事项安装 Linux D...
    99+
    2022-11-12
  • 在MacOS+Linux+Nginx中发布和部署Asp.Net Core
    目录新建一个 WebApp 项目发布到 Linux,Mac OS使用 Nginx 进行反向代理Mac OSLinux(Ubuntu)注意事项新建一个 WebApp 项目 在 Asp....
    99+
    2022-11-12
  • Docker中怎么部署Django应用
    今天小编给大家分享一下Docker中怎么部署Django应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2022-10-19
  • 怎么部署ASP.NET Core程序到Linux系统
    这篇文章主要讲解了“怎么部署ASP.NET Core程序到Linux系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么部署ASP.NET Core程序到Linux系统...
    99+
    2023-06-29
  • docker怎么部署nginx应用
    要部署Nginx应用,您可以使用Docker来进行部署。下面是一些步骤可以帮助您完成此过程:1. 首先,您需要安装Docker,可以...
    99+
    2023-10-20
    docker nginx
  • docker怎么部署django应用
    要部署Django应用程序,可以使用Docker进行容器化。下面是一些步骤:1. 创建Django项目:首先,在本地开发计算机上创建...
    99+
    2023-08-16
    docker django
  • docker怎么部署go应用
    要部署Go应用程序,您可以使用Docker来创建一个镜像并将其部署到容器中。下面是一个简单的步骤:1. 创建一个包含Go应用程序的目...
    99+
    2023-08-16
    docker go
  • 在Docker中怎么用Tomcat快速部署web应用
    这篇文章主要介绍“在Docker中怎么用Tomcat快速部署web应用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在Docker中怎么用Tomcat快速部署web...
    99+
    2022-10-19
  • 如何在MacOS+Linux+Nginx中发布和部署Asp.Net Core
    这篇文章主要介绍“如何在MacOS+Linux+Nginx中发布和部署Asp.Net Core”,在日常操作中,相信很多人在如何在MacOS+Linux+Nginx中发布和部署Asp.Net Core问题上存在疑惑,小编...
    99+
    2023-06-22
  • 如何在docker容器中部署应用
    本篇内容介绍了“如何在docker容器中部署应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个简单的Hello World应用。1 Ma...
    99+
    2023-06-02
  • docker怎么部署多个web应用
    可以通过以下几种方式来部署多个web应用: 使用多个Docker容器:可以为每个web应用创建一个独立的Docker容器,并使用...
    99+
    2023-10-25
    docker
  • 在Docker容器中怎么部署MSSQL
    今天小编给大家分享一下在Docker容器中怎么部署MSSQL的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。部署MSSQL需要...
    99+
    2023-06-29
  • 怎么在Machine中远程部署Docker
    怎么在Machine中远程部署Docker?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、docker machine概要Docker Machine发布之前...
    99+
    2023-06-07
  • 怎么使用docker部署前端应用
    这篇“怎么使用docker部署前端应用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作