Asp.Net Core WebAPI+PostgreSQL部署在Docker中
PostgreSQL是一个功能强大的开源数据库系统。它支持了大多数的SQL:2008标准的数据类型,包括整型、数值值、布尔型、字节型、字符型、日期型、时间间隔型和时间型,它也支持存储二进制的大对像,包括图片、声音和视频。PostgreSQL对很多高级开发语言有原生的编程接口,如C/C++、Java、.Net、Perl、Python、Ruby、Tcl 和ODBC以及其他语言等,也包含各种文档。我用PostgreSQL结合.Net Core WebAPI构建并部署在Docker中做了一个Demo构建:
一、VS2017构建Asp.Net Core WebApi项目
二、在NuGet包管理器中添加 Npgsql.EntityFrameworkCore.PostgreSQL
三、编写DbContext类,以及实体类。也可以直接通过命令行自动生成:
dotnet ef dbcontext scaffold "Server=localhost;port=5432;Database=Todo;Username=postgres;Password=111111" Npgsql.EntityFrameworkCore.PostgreSQL -o Models -p postgreSQL.Demo
如果需要对实体进行约束,实现IEntityTypeConfiguration接口
四、注入PostgreSQL在Asp.Net Core中
五、编写业务逻辑,由于数据库中有数据,我直接写一个读取数据的API方法
控制台运行后指定api/todo路径后,显示如下结果:
六、接下来,在VS2017项目WebApi中添加Docker Compose,Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器,在VS2017中,选中项目右击-》添加-》容器业务流程协调程序支持,当然你也可以选择Docker支持,不过需要自己手动输入命令行构建镜像。
接下来,会发现项目中出现了一个Docker Compose的一个项目节点:
yml文件对Docker容器进行了项目配置,另外在WebAPI项目中多了一个Dockerfile文件,文件中描述的是构建Docker镜像的构建命令:
七、在Docker-Compose项目的yml文件中是Docker的一些配置:
生成Docker-Compose项目,自动进行Docker镜像构建,不需要手动输入命令行:
最后运行Docker-Compose,启动后,打开Docker可视化工具Kitematic可以看到部署的webapi站点在运行中:
点击右边的Hostname/Ports选项,下面是Docker 的端口映射,可以修改
点击localhost:64629,访问路径api/todo,会看到和控制台运行一样的效果
另外要注意:PostgreSQL不要用localhost地址,改用IP地址,具体的PostgreSQL的IP地址配置看如下链接:
https://www.bbsmax.com/A/n2d9Xw605D/
原文链接:https://www.cnblogs.com/JunXiao/p/11344989.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
Asp.Net Core WebAPI+PostgreSQL部署在Docker中相关推荐
- ASP.NET Core 集成AAD认证在Docker中运行时要注意的一个问题
最近我在准备一个分享,就是基于.NET 6.0的云原生开发Microsoft 365应用,这个看起来很高大上的东东,其实我理解主要就是能把应用容器化,便于与环境无关地进行分发和部署.如果理解有误,请大 ...
- IIS部署asp.net core webapi
一.需要安装Windows Server Hosting,作用是让IIS有方向代理功能(Asp.Net Core Module负责反向代理工作),将请求转发到Kestrel,Windows serve ...
- ASP.NET Core微服务(七)——【docker部署linux上线】(RDS+API接口测试部分)
ASP.NET Core微服务(七)--[docker部署linux上线]: 本文测试采用阿里云的RDS(sqlserver服务器)+ECS(linux服務器)进行测试,由于是测试,[按量付费]买个最 ...
- 实战中的asp.net core结合Consul集群Docker实现服务治理
一.前言 在写这篇文章之前,我看了很多关于consul的服务治理,但发现基本上都是直接在powershell或者以命令工具的方式在服务器上面直接输入consul agent .... 来搭建启动con ...
- ASP.NET Core WebApi构建API接口服务实战演练
一.ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过Web ...
- 【Vue】Vue与ASP.NET Core WebAPI的集成
SPA单页面应用已经遍地开花,熟知的三大框架,Angular.Vue和React,其中Angular与React均可集成至ASP.NET Core,且提供了相关了中间件.但是Vue没有: " ...
- asp.net core WebAPI实现CRUD
本节用于构建一个简单的WebAPI来管理to-do列表.不会创建用户界面. API Description Request body Response body GET /api/todo Get a ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
一.安装Visual Studio Code 安装文件下载地址:VS Code,当前最新版本是1.3. 推荐安装最新版,因为附带Debug插件,支持在vs code上进行断点调试. 二.安装.Net ...
- Asp.Net Core 发布和部署(Linux + Jexus )
前言 在上篇文章中,主要介绍了 Dotnet Core Run 命令,这篇文章主要是讲解如何在 asp.net core 中对我们的已经完成的程序进行发布和部署. 有关如何使用 Nginx 进行部署, ...
最新文章
- 统计简单学_常用统计图表
- keras 模型简介
- Openxml: 导出excel 设置 cell的格式
- cdf2rdf--复对角矩阵转化为实对角矩阵
- 趣文:如果网络浏览器是妹纸
- IDE (Integrated Development Environment) 集成开发环境
- 通俗易懂讲解RBF网络
- Tomcat Firewall JMX RMI
- “夺笋呐”!会员隐私随便看 诈骗就当没看见,中国最大婚恋网站紧急回应
- 《二》Android 数据库 SQlite SQLiteOpenHelper
- 【小程序】使用socket实现文件的收发
- 磁盘已满,如何从 Mac 中删除大文件?
- hdu1728 逃离迷宫
- 图片后缀名批量快速修改
- Python基础 by.肖洪福
- 计算机文化基础西安航空学院知到答案,HBsAg阳性,抗-HBe阳性,抗-HBc阳性,表明...
- 初一计算机基础知识试题及答案,【2017年整理】计算机基础知识试题及答案.doc...
- 使用nacos配置dubbo3
- 前大灯是近光灯还是远光灯_高速公路上应该开远光灯还是近光灯?
- 杭电ACM-2036 改革春风吹满地
热门文章
- 理解 Delphi 的类(七) - 认识类的多态
- java中拷贝文件的代码_拷贝文件夹中的所有文件到另外一个文件夹
- 内存泄露 体现在哪个数字上_Microsoft刚刚泄漏了一个新的开始菜单。 你喜欢哪个?...
- Cygwin使用指南
- 将VNC 安装在Centos 7步骤
- 大数据量分页查询方法(转)
- Mybatis——返回类型为 集合嵌套集合 应该如何处理
- Ubuntu 每日技巧- 自动备份Ubuntu 14.04到Box云存储上
- 页面获取Spring Security登录用户
- 测试你的Python 水平----6