GVKun编程网logo

Docker 设置中的 .Net Core 3.1 MSSQL 后端:Docker-compose up 产生连接失败

1

对于想了解Docker设置中的.NetCore3.1MSSQL后端:Docker-composeup产生连接失败的读者,本文将提供新的信息,并且为您提供关于'docker-compose'不是使用do

对于想了解Docker 设置中的 .Net Core 3.1 MSSQL 后端:Docker-compose up 产生连接失败的读者,本文将提供新的信息,并且为您提供关于'docker-compose' 不是使用 docker-compose 和 docker-machine、.net core +codefirst(.net core 基础入门,适合这方面的小白阅读,本文使用 mysql 或 mssql)、adfs 设置中的 itfoxtec-identity-saml2 Issuer 是什么?、Ansible 在 systemctl 和 supervisor 设置中的 ansible.log 中显示不同的用户名的有价值信息。

本文目录一览:

Docker 设置中的 .Net Core 3.1 MSSQL 后端:Docker-compose up 产生连接失败

Docker 设置中的 .Net Core 3.1 MSSQL 后端:Docker-compose up 产生连接失败

如何解决Docker 设置中的 .Net Core 3.1 MSSQL 后端:Docker-compose up 产生连接失败

docker-compose.yml

version: "3.9"
services:
    web:
        build: .
        ports:
            - "8000:80"
        container_name: web_application
        depends_on:
            - medicalmgr
    
    medicalmgr:
        image: "mcr.microsoft.com/mssql/server:2019-latest"
        environment:
            SA_PASSWORD: Pw@mm2021
            ACCEPT_EULA: Y
        ports:
            - "1433:1433"
        container_name: mmm_mmsql_2019

dockerfile

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
workdir /app
copY . .
RUN dotnet restore && \\
    dotnet publish -c Release -o out
    
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
workdir /app
copY --from=build-env /app/out .
ENTRYPOINT ["dotnet","MedicalManager.dll"]

Startup.cs 的

public void CofigureServices(..){
      ....
       var server = Configuration["DBServer"] ?? "medicalmgr";
       var port = Configuration["DBPort"] ?? "1433";
       var user = Configuration["DBUser"] ?? "SA";
       var password = Configuration["DBPassword"] ?? "Pw@mm2021";
       var database = Configuration["Database"] ?? "MedicalManager";


       //var connectionStr = $"Server={server},{port};Initial Catalog={database};User ID= 
       //{user};Password={password}";
       var connectionStr = 
       @"Server=medicalmgr;Database=MedicalManager;User=sa;Password=Pw@mm2021;";
       services.AddDbContext<MedicalManagerDBContext>(
                options => options.UsesqlServer(connectionStr)
       );}

错误: 应用程序启动异常:Microsoft.Data.sqlClient.sqlException (0x80131904):建立与 sql Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 sql Server 是否配置为允许远程连接。 (提供程序:TCP 提供程序,错误:40 - 无法打开与 sql Server 的连接)

解决方法

试试这个:

var connectionStr = 
@"Data Source=localhost,1433;Initial Catalog=MedicalManager;User Id=sa;Password=Pw@mm2021";

'docker-compose' 不是使用 docker-compose 和 docker-machine

'docker-compose' 不是使用 docker-compose 和 docker-machine

如何解决''docker-compose'' 不是使用 docker-compose 和 docker-machine

我刚开始使用 Docker,我在 VirtualBox 上使用 docker-machine,就像我在旧 Mac 上一样。 docker-machine 命令工作正常,我现在正在尝试使用 docker-compose 来运行多容器应用程序。我记得在手册中读过这句话“docker-machine 现在可以运行 docker-compose 命令,有或没有 -”,但我再也找不到它了,所以我被困在如何使用docker-compose .. 你能指出我在正确的方向上使用 docker 机器的 compose 吗?一如既往,非常感谢您的帮助。 干杯

.net core +codefirst(.net core 基础入门,适合这方面的小白阅读,本文使用 mysql 或 mssql)

.net core +codefirst(.net core 基础入门,适合这方面的小白阅读,本文使用 mysql 或 mssql)

设置为 model 所在的那一层 

 

前言 

 .net core mvc 和 .net mvc 开发很相似,比如 视图 - 模型 - 控制器结构。所以.net mvc 开发员很容易入手.net core mvc 。但是两个又有细微的区别,比如配置.net mvc 中 Web.config 和 Global.asax 消失,而在.net core mvc 中则是 Startup.cs、Program.cs、appsettings.json 等等。所以想要深入了解.net core 就必须更加深入的学习。而刚刚开始的学习则是通过建立一个连接数据库的 demo 开始。由于配置文件的不同,导致很多新手在连接数据库,或者使用 codeFisrt 开发却不知道怎么配置。所以我在这里较为详细的写一个 demo 提供给需要此方面的博友。(如有不正确地方欢迎各位指正)

开发工具 vs2017

数据库  mssql2014

.net core 环境 .net core2.1

1】先建立 model 层

  1.1 先建立一个空白方案

然后建立一个内库,用来存放 model:注意选择内库 (.net core)

  1.2 在 model 层添加内容

现在 nuget 中分别引用:Microsoft.EntityFrameworkCore.SqlServer 和 Microsoft.EntityFrameworkCore.Tools,注意两者版本号最好相同,以免出错

  然后加入 model 和数据库的上下文类 DataBase(这个名字自己随意取),我在这里先只建立一个 user 表(注意在 DataBase 中需要

using Microsoft.EntityFrameworkCore;)

public class DataBase : DbContext
    {
        //构造方法
        public DataBase(DbContextOptions<DataBase> options)
            : base(options)
        { }

        #region 数据区域
        public DbSet<User> User { get; set; }
        #endregion

    }
View Code

 

至此,model 层配置完毕

2】开始建立.net core 项目

先建立一个.net core 项目

项目建立完毕之后先引用 model 层

然后进入 Startup.cs 配置数据库连接,这里首先引用 using Microsoft.EntityFrameworkCore; 和 model 层 using Modelx; 然后配置连接

注意 services.AddDbContext<DataBase> 中的 DataBase 是 model 层中的  数据库的上下文类,别弄错了

以上全部完成,然后添加一个例子看看效果,在任意一个控制器中写入以下代码然后运行(.net core 的一个好处就是内置依赖注入)

这时,会发现程序报错

原来,.net core 和.net mvc 相比,在使用 codefirst 时候,除了配置文件之外,.net core 还需要在控制台中执行以下两行代码

【注意每次修改数据库都需要执行这两段命令,每次执行 Add-Migration 后面名字必须不同】

先输入:Add-Migration  MyFirstMigration(名字。这里随意取未MyFirstMigration)

 在输入:Update-Database
View Code

首先我们打开控制台:

先输入:Add-Migration  MyFirstMigration 然后回车等待运行完毕

然后输入:Update-Database  回车,等到全部运行完毕之后,再运行项目看看,就发现项目正常运行,以及数据库正常生成

 

注意如果输入  Add-Migration  MyFirstMigration 出现 Build failed 则说明 Microsoft.EntityFrameworkCore.Tools 版本过高,和当前其他插件的版本不匹配,建议使用 2.14

 

 

3】ps: 关于连接数据库的第二种方法。

关于上文连接数据库,或许有人会问:和自己连接的不太一样,.net core 连接字符串不是应该写在 appsettings.json 里面?下面,我就将连接数据库的第二种方法写在下面,毕竟多多益善

 

 如果想尝试这种方法的话,别忘了在控制台输入

先输入:Add-Migration MyFirstMigrations (名字,为了和上面区分,这里加了 s)

在输入:Update-Database

 

 4】ps: 关于连接 mysql 数据库。

首先在 model 层的 nuget 中引入 Microsoft.EntityFrameworkCore.Tools 和 Pomelo.EntityFrameworkCore.MySql(圆圈是连接 mssql 必备、方块是连接 mysql 必备)

 

 

然后返回 ui 层的 appsettings.json 中修改连接字符串

 

然后进入 Startup.cs 注入上下文

 

 最后,在系统运行之前别忘记在 nuget 控制台中运行那两行命令

为迁移搭建基架运行:Add-Migration MyFirstMy

将新迁移应用到数据库运行:Update-Database

另外,需要注意的是,在默认项目这里选择你 mode 层的名字,否者运行错误

 

当以上全部完成之后,在运行程序,然后去看 mysql 数据库

 

建议各位手打一次,加深印象。如果想偷懒的,付出代价 (2 积分) 吧

https://download.csdn.net/download/qq_36215047/10824784 源码地址

-------------------------------------- 分界线 2018-12-10  ------------------------------------------------------------------

错误记录 1

 Unable to create an object of type ''DataBaseContext''. Add an implementation of ''IDesignTimeDbContextFactory<DataBaseContext>'' to the project, or see  https://go.microsoft.com/fwlink/?linkid=851728 for additional patterns supported at design time.

如果输入 Add-Migration  出现这个错误,请把 ui 层设置为启动项,然后在输入 Add-Migration MyFirstMy,注意

 

 

如果觉得本文对你有用的话,帮忙在最下方点个推荐吧∑(っ °Д°;) っ

原文出处:https://www.cnblogs.com/1439107348s/p/10057694.html

adfs 设置中的 itfoxtec-identity-saml2 Issuer 是什么?

adfs 设置中的 itfoxtec-identity-saml2 Issuer 是什么?

如何解决adfs 设置中的 itfoxtec-identity-saml2 Issuer 是什么?

我正在为 ADFS 设置 ITfoxtec Identity SAML2。什么应该用作 ADFS 设置的颁发者? 以及从哪里获得 SingleSignOnDestination?

非常感谢

解决方法

应用程序可以读取 AD FS 元数据中的 AD FS 颁发者和 SingleSignOnDestination: https://--adfs domain--/federationmetadata/2007-06/federationmetadata.xml

AD FS 元数据 URL 在依赖方 IdPMetadata 中配置,请参阅 ASP.NET Core 示例配置第 11 行: https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/test/TestWebAppCore/appsettings.json#L11

示例应用程序在 Startup.cs 中加载 AD FS 元数据:https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/blob/master/test/TestWebAppCore/Startup.cs#L40

Ansible 在 systemctl 和 supervisor 设置中的 ansible.log 中显示不同的用户名

Ansible 在 systemctl 和 supervisor 设置中的 ansible.log 中显示不同的用户名

如何解决Ansible 在 systemctl 和 supervisor 设置中的 ansible.log 中显示不同的用户名

我们在我们的微服务名称之一中使用 ansible-playbook 命令作为 ops。

我们正在使用 systemctl 为 ops 用户启动 ops 微服务。当应用程序执行任何 ansible-playbook 命令时,日志会显示 u=ops 和任务名称。 这是预期的

Ex 日志语句: 2021-05-17 17:52:29,243 p=6886 u=ops n=ansible | TASK [打印 jobId 和 transactionId] ************************************************

现在我们决定将服务启动控制从 systemctl 移到 supervisord 。 我们正在使用 supervisorctl 启动微服务操作,并在主管配置中将用户配置为操作。 但是当微服务执行 ansible-playbook 命令时,日志打印用户为 root,这是意外

Ex 日志语句:

2021-05-16 17:12:38,243 p=1236 u=root n=ansible | TASK [打印 jobId 和 transactionId] ************************************************

有人可以指导为什么用户被打印为 root 而不是 ops 吗?

关于Docker 设置中的 .Net Core 3.1 MSSQL 后端:Docker-compose up 产生连接失败的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于'docker-compose' 不是使用 docker-compose 和 docker-machine、.net core +codefirst(.net core 基础入门,适合这方面的小白阅读,本文使用 mysql 或 mssql)、adfs 设置中的 itfoxtec-identity-saml2 Issuer 是什么?、Ansible 在 systemctl 和 supervisor 设置中的 ansible.log 中显示不同的用户名的相关知识,请在本站寻找。

本文标签: