Docker发布.net core

Docker发布.net core

一、什么是docker?

  1. docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。简言之,就是可以在Linux上镜像使用的这么一个容器。

  2. 镜像:镜像就相当于打包然后将要发布的文件,可以是多个。

  3. 容器:容器就相当于是iis中已经部署的项目,然后我们可以根据镜像(打包发布的文件),去配置不同的端口号,然后成功以后的东西,就是一个镜像文件。

二、如何在docker 中部署.net core

  1. 首先创建一个.net core api项目(DockerTest),并且添加dockerfiles文件,其实不用添加,只需要直接勾选docker就可以了,并且选择在Linux中执行就行。

  1.1相关dockerfile文件中的内容如下:

复制代码
FROM mcr.microsoft.com/dotnet/core/aspnet:2.1
WORKDIR /app
EXPOSE 5000
# 一般情况下必须开放
EXPOSE 80
# 如果使用https,记得打开443端口,但是一般不用
#EXPOSE 443
 
COPY publish/ /app
ENTRYPOINT ["dotnet", "DockerTest.dll"]
复制代码

 

 

 

  2. 如何制作镜像:

 

docker build -t asptest .   

 

  3. 如何制作容器

docker run -d -p 8001:80 asptest

  4. docker访问如下

  http://localhost:8000/api/values

 

三、

第一种方式 上传所有的文件

1.把当前项目所有内容通过XFTP存放到linux相应目录

2.#切换到上传的文件目录下 执行

docker build -t coremvc . 【coremvc 为项目名称】

docker run --name netcore-mvc -d -p 8080:80 coremvc

 

第二种通过发布包部署

 

 

关闭当前防火墙

systemctl stop firewalld

开机防火墙不启动

systemctl disable  firewalld

 

 

#如果需要和nginx 一起实现负载均衡,则需要创建网卡,实现互通

docker network create --driver bridge --subnet 192.37.0.0/16 --gateway 192.37.0.1  corenet

 

 

#根据发布的包运行docker  存放到 根目录public

 

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

 

把我们自己项目的发布包,放到linux系统上面的public

 

看老师提供的文本文件

 

Nginx

 

#1.下载最新版本的镜像

docker pull nginx:latest

#2.先把nginx.conf 文件复制到linux下面的home/ config下面 ,这样启动才可以根据配置

#3.运行安装文件启动

docker run -d -p 8090:80 --net corenet -v /home/config/:/var/log/nginx/ -v /home/config/nginx.conf:/etc/nginx/nginx.conf:ro --name nginx  nginx

 

 

posted @   锦大大的博客呀!  阅读(578)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2018-11-29 Ado.net之存储过程的使用【三】
2018-11-29 手动设置绑定数据的列
2018-11-29 内连接查询输出到datagridView
2018-11-29 C# txt文件的读取与写入
点击右上角即可分享
微信分享提示