我最近开始使用 Buildkit 来隐藏一些环境变量,它在 gha 的 prod 中效果很好!
我的 Dockerfile 现在是这样的:
# syntax=docker/dockerfile:1.2
...
RUN --mount=type=secret,id=my_secret,uid=1000 \
MY_SECRET=$(cat /run/secrets/my_secret) \
&& export MY_SECRET
Run Code Online (Sandbox Code Playgroud)
而我的正面是这样的:
DOCKER_BUILDKIT=1 docker build \
--secret id=my_secret,env="MY_SECRET"
Run Code Online (Sandbox Code Playgroud)
当我在我的 Github 操作上运行它时,它运行得很好。
但现在,问题是当我尝试在本地构建它时。执行时docker-compose build失败。当然,因为我没有传递任何秘密,所以我的后端(Dockerfile)将无法从run/secrets/.
到目前为止,我尝试使用以下方法完成本地构建docker-compose build:
1. 使用 Docker 秘密:
我基本上尝试这样做:
$ docker swarm init
$ echo "my_secret_value" docker secret create my_secret -
Run Code Online (Sandbox Code Playgroud)
我认为保存秘密可以解决问题,但没有成功。我仍然收到相同的错误消息:
cat:无法打开“/run/secrets/my_secret”:没有这样的文件或目录
version: '3'
services:
app:
build:
context: "."
args:
- "MY_SECRET"
secrets:
- my_secret
secrets: …Run Code Online (Sandbox Code Playgroud) 我试图在SQL中查询,我无法解决它.我有一张桌子tCliente:
我想要做的是使用相同的表来查找位于同一城市的每对客户端.
我试着这样做:
SELECT DISTINCT c.codiClien, c.nombreClien, c1.codiClien, c1.nombreClien, c.ciudadClien
FROM tCliente c
INNER JOIN tCliente c1 ON c.ciudadClien = c1.ciudadClien
Run Code Online (Sandbox Code Playgroud)
得到这个:
但我应该得到这个:
我知道我必须过滤数据,但我尝试了很多东西,但我找不到解决方案.此外,我试图使用,GROUP BY但它是不可能的.我希望按对分组,即这样的事情:
...
GROUP BY c.codiClien, c1.codiClien
Run Code Online (Sandbox Code Playgroud)
但是这样做我在查询中遇到错误.有人可以帮帮我吗?谢谢
注意:
在使用ON时INNER JOIN,我想知道是否"可能"这样做或不应该这样做,因为通常的做法是做tb1.id = tb2.id
我正在观察一些问题,例如Logica模糊逻辑和Horn子句,并看到了一些简单的应用程序示例,使用Prolog.
这个问题的原因是因为这些问题也属于Herbrand定理,我认为它比其他定理要复杂一些,至少对我而言,我很难找到与Prolog相关的应用示例.
这就是为什么我想用Prolog提供一些应用实例,而不是那么基本(因为根据定义生成Herbrand模型,是基本规则,并且总是在搜索Herbrand时找到这个应用程序示例),专供Herbrand使用.谢谢
这是Prolog中的示例应用代码:
p(f(X)):- q(g(X)).
p(f(X)):- p(X).
p(a).
q(b).
Run Code Online (Sandbox Code Playgroud) 我正在 Racket 中处理简单的列表,并且正在执行一个函数来对列表的元素求和。
但我想知道是否有更简单的方法可以做到这一点。
我做了这个功能:
(define (mySum L)
(if (empty? L) 0
(+ (first L) (mySum (rest L))))
)
Run Code Online (Sandbox Code Playgroud)
输出:
(mySum '(1 2 3 4))
10
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人知道更简单的方法来做到这一点。我解释一下自己,例如:这是我做的另一个功能:
(define (myAppend L1 L2)
(if (empty? L1) L2
(cons (car L1) (myAppend (cdr L1) L2)))
)
Run Code Online (Sandbox Code Playgroud)
但这个功能可以通过这样做更简单地完成:
(define (myAppend L1 L2)
(append L1 L2)
)
Run Code Online (Sandbox Code Playgroud)
我的问题是知道是否有一种更简单的方法来计算列表中项目的总和。谢谢
我正在尝试按照官方指导安装 gRPC 扩展
我已经遵循了所有步骤,但在最后的步骤中,我得到了这个(我认为稍后会很重要)
$ cd grpc/src/php/ext/grpc
$ phpize
$ ./configure
$ make
$ sudo make install
Run Code Online (Sandbox Code Playgroud)
安装共享扩展:/usr/lib/php/20190902/
在这里,我检查了该文件夹并找到了该grpc.so文件。
此时,我希望安装扩展,我已extension=grpc.so在php.ini(apache2 和 cli)中添加了该扩展。但这不起作用。
我尝试验证它,但它返回 false:var_dump(extension_loaded('grpc'));=>bool(false)
现在,我检查了 apache2 日志文件,看到了以下内容:
PHP警告:PHP启动:无法加载动态库“grpc.so”(尝试过:/usr/lib/php/20180731/grpc.so(/usr/lib/php/20180731/grpc.so:无法打开共享对象文件) :没有这样的文件或目录),/usr/lib/php/20180731/grpc.so
可能的错误?
我认为,在安装 grpc 扩展之后,它就被安装了/usr/lib/php/20190902/(如您之前所见)。但阿帕奇正在试图找到它/usr/lib/php/20180731/grpc.so
我不知道我做错了什么。我认为我编辑了正确的php.ini文件,因为当我这样做时,php_info()我得到了这个:
Configuration File (php.ini) Path /etc/php/7.3/apache2
Loaded Configuration File /etc/php/7.3/apache2/php.ini
Scan this dir for additional .ini files /etc/php/7.3/apache2/conf.d
Run Code Online (Sandbox Code Playgroud)