以下 docker 文件使用从备份 (rmsdev.bak) 恢复的数据库创建自定义 SQL Server 映像。
FROM mcr.microsoft.com/mssql/server:2019-latest
ENV MSSQL_PID=Developer
ENV SA_PASSWORD=Password1?
ENV ACCEPT_EULA=Y
USER mssql
COPY rmsdev.bak /var/opt/mssql/backup/
# Launch SQL Server, confirm startup is complete, restore the database, then terminate SQL Server.
RUN ( /opt/mssql/bin/sqlservr & ) | grep -q "Service Broker manager has started" \
&& /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q 'RESTORE DATABASE rmsdev FROM DISK = "/var/opt/mssql/backup/rmsdev.bak" WITH MOVE "rmsdev" to "/var/opt/mssql/data/rmsdev.mdf", MOVE "rmsdev_Log" to "/var/opt/mssql/data/rmsdev_log.ldf", NOUNLOAD, STATS = 5' \ …Run Code Online (Sandbox Code Playgroud) 请先阅读引用的链接,然后再继续往下看
我试图扩展这个概念并传递一个带有 2 个参数并用它们执行某些操作的通用函数。
静态方法有效,但是基于接口的方法会导致编译错误(请参阅标有 //error 的代码行):
The declared type parameter '?' cannot be used here since the type parameter cannot be resolved at compile time.
Run Code Online (Sandbox Code Playgroud)
有谁知道如何修理它?
module MyModule
type T = Content of int
with
static member (+) ((Content i1), (Content i2)) = Content (i1 + i2)
static member (*) ((Content i1), (Content i2)) = Content (i1 * i2)
type W = { Content: int }
with
static member (+) ({Content = i1}, {Content = i2}) = …Run Code Online (Sandbox Code Playgroud) 在以下 F# 代码中,f1 将 Span 作为输入,f2 调用 f1。当参数通过管道传递而不是传递时,编译器会给出指示的错误。
let f1 (span: Span<byte>) = span.Length
let f2() =
let buf = [|0uy|].AsSpan()
buf |> f1 // FS0412
f1 buf // Ok
Run Code Online (Sandbox Code Playgroud)
FS0412 A type instantiation involves a byref type. This is not permitted by the rules of Common IL
有没有办法将 Span 通过管道传输到 F# 函数中?
我有这个F#课
module File1
open System
open System.Collections.Generic
type TimeRangeList<'e>(getter: DateTime * DateTime -> List<'e>, ?maybe_tFrom: DateTime, ?maybe_tTo: DateTime) as this =
inherit List<'e>()
//inherit List<'e>(getter(defaultArg maybe_tTo DateTime.Now, defaultArg maybe_tFrom ((defaultArg maybe_tTo DateTime.Now).AddDays(-1.0))))
let tTo = defaultArg maybe_tTo DateTime.Now
let tFrom = defaultArg maybe_tFrom (tTo.AddDays(-1.0))
do this.AddRange(getter(tFrom, tTo))
Run Code Online (Sandbox Code Playgroud)
现在我想添加构造函数并使用此处的语法
type TimeRangeList<'e> =
inherit List<'e>
val tFrom: DateTime
val tTo: DateTime
new (getter: DateTime * DateTime -> List<'e>, ?maybe_tFrom: DateTime, ?maybe_tTo: DateTime) = {
inherit List<'e>()
//inherit List<'e>(defaultArg maybe_tFrom ((defaultArg …Run Code Online (Sandbox Code Playgroud) 我有一个带有 Web 应用程序的 AKS 集群。我想配置一个 nginx Ingress 控制器以将应用程序公开到互联网,然后启用 TLS。
我一直在关注官方文档
https://learn.microsoft.com/en-us/azure/aks/ingress-basic
和
https://learn.microsoft.com/en-us/azure/aks/ingress-static-ip
但我总是以悬而未决的 nginx-ingress 服务结束并出现此错误
reason: SyncLoadBalancerFailed
message: >-
Error syncing load balancer: failed to ensure load balancer: instance not
found
Run Code Online (Sandbox Code Playgroud)
我见过
并用谷歌搜索了错误,但到目前为止还没有运气
有谁知道它会是什么?
或者,有一些我可以开始的工作示例吗?
我有一个全新的(非常空的)AKS 集群。我想使用 helm 在不同的命名空间和不同的入口类中安装 nginx 入口控制器的两个实例。
我从第一个开始:
helm install ingress1 ingress-nginx/ingress-nginx --namespace namespace1 --set controller.ingressClass=class1
NAME: ingress1
LAST DEPLOYED: Fri Sep 24 20:46:28 2021
NAMESPACE: namespace1
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
Run Code Online (Sandbox Code Playgroud)
都好
现在我选择第二个:
helm install ingress2 ingress-nginx/ingress-nginx --namespace namespace2 --set controller.ingressClass=class2
Error: rendered manifests contain a resource that already exists. Unable to continue with install: IngressClass "nginx" in …Run Code Online (Sandbox Code Playgroud) 此 F# 代码编译无错误
type A() =
member private this.M1(tt: Task<'t>) = task {
let! t = tt
return t
}
member this.M4() = this.M2()
member this.M2() = this.M1(Task.FromResult(1))
member this.M3() = this.M1(Task.FromResult(1.0))
Run Code Online (Sandbox Code Playgroud)
M4 调用之后声明的 M2。现在我将私有方法移到最后:
type A() =
member this.M4() = this.M2()
member this.M2() = this.M1(Task.FromResult(1)) //FS0064
member this.M3() = this.M1(Task.FromResult(1.0)) //FS0001
member private this.M1(tt: Task<'t>) = task { //FS0064
let! t = tt
return t
}
Run Code Online (Sandbox Code Playgroud)
此代码无法编译并出现以下错误:
警告 FS0064 此构造导致代码不如类型>注释所指示的通用。类型变量“t”已被限制为“int”类型。
错误 FS0001 该表达式的类型应为“int”,但此处的类型为“float”
请解释为什么会发生这种情况以及如何解决它(如果可能)
下面2个函数
let episodeDict1 (a: obj) =
match a with
| :? (Episode -> _) as generator ->
let episodes = [D; W; M]
let values = episodes |> List.map generator
List.zip episodes values
| :? _ as value -> [D, value; W, value; M, value]
|> dict |> Dictionary
let episodeDict2: obj -> Dictionary<Episode, _> = function
| :? (Episode -> _) as generator ->
let episodes = [D; W; M]
let values = episodes |> List.map generator
List.zip episodes …Run Code Online (Sandbox Code Playgroud) f# ×5
kubernetes ×2
.net ×1
azure ×1
azure-aks ×1
constructor ×1
docker ×1
dockerfile ×1
helm3 ×1
inheritance ×1
nginx ×1
sql-server ×1