小编use*_*314的帖子

在一次 docker 构建期间标记多个目标

我有一个包含多个目标的 Dockerfile。例如:

FROM x as frontend
...

FROM y as backend
...

FROM z as runtime
...
COPY --from=frontend ...
COPY --from=backend ...
Run Code Online (Sandbox Code Playgroud)

为了构建和标记最终图像,我使用:

docker build -t my-project .
Run Code Online (Sandbox Code Playgroud)

为了构建和标记中间目标,我提供了--target参数:

docker build -t my-project-backend --target backend .
Run Code Online (Sandbox Code Playgroud)

但是是否有可能构建一个最终图像并标记所有中间图像?换句话说,等同于:

docker build -t my-project-frontend --target frontend .
docker build -t my-project-backend --target backend .
docker build -t my-project .
Run Code Online (Sandbox Code Playgroud)

但是用一个命令?

我认为需要一些解释。如果使用 buildkit( export DOCKER_BUILDKIT=1),那么所有独立的目标都是并行构建的。所以它比一个一个地构建它们要快。我需要标记每个目标以将它们推送到 docker 注册表以及最后一个。

目前我正在 CI 中构建我的图像而没有 buildkit,我正在尝试加快这个过程。

docker docker-multi-stage-build docker-buildkit

8
推荐指数
2
解决办法
1424
查看次数

JSLint警告三元运算符

我在JavaScript中有以下代码:

var a = num ? 5 : "five";
Run Code Online (Sandbox Code Playgroud)

代码似乎可行.但JSLint警告如下:

#2 Expected '?' at column 9, not column 15.
var a = h ? 5 : "qwerty"; // Line 10, Pos 15  
#3 Expected ':' at column 9, not column 19.
var a = h ? 5 : "qwerty"; // Line 10, Pos 19
Run Code Online (Sandbox Code Playgroud)

那么问题是什么?如何禁用此类警告?

javascript jslint ternary-operator

7
推荐指数
1
解决办法
983
查看次数

如何通过python从智能卡读取证书?

我有一张智能卡(实际上是 USB 令牌),上面写有一些证书和密钥。现在我需要在 Windows 上使用 python 检索此证书。如何才能实现呢?

我查看了pyscard软件包,但它似乎太低级,可能不是最简单的方法。但如果您知道这个低级答案,那么您的帮助将不胜感激。
似乎CryptAcquireContextpywin32 (win32crypt) 的函数允许我使用智能卡中的私钥进行加密,但我无法获取证书本身。

你有什么建议吗?

python smartcard pyscard wincrypt

6
推荐指数
1
解决办法
6310
查看次数

如何使用反应和电子在 fs 上选择文件?

我正在使用 Electron 和 ReactJS 构建桌面应用程序。
我需要实现从文件系统中选择文件的功能,比如 input="file" 在表单中工作。
实际上,我所需要的只是获取文件的绝对路径。
我怎样才能做到这一点?

我试过:

<input type="file" onChange={function(e) {console.log(e.target.value)} } />
Run Code Online (Sandbox Code Playgroud)

但由于安全原因,它返回 fakepath。
我认为 Electron 中的 Dialogs 可能对此有用,但是如何将文件路径传播到 React 应用程序呢?

javascript reactjs electron

3
推荐指数
1
解决办法
1976
查看次数