我正在 docker swarm 堆栈上运行 spring boot 应用程序,并且想使用 docker 密钥作为令牌密钥、api 密钥等...创建密钥并使其在我正在运行的 docker 容器中可用是没有问题的以下撰写文件:
version: "3.7"
services:
app:
image: myimage
environment:
tokenSecret: /run/secrets/tokenSecret
apiKey: /run/secrets/apiKey
secrets:
- tokenSecret
- apiKey
frontend:
.....
db:
.....
secrets:
tokenSecret:
external: true
apiKey:
external: true
Run Code Online (Sandbox Code Playgroud)
这些秘密是由printf some_secret | docker secret create tokenSecret -
在使用 docker Secret 之前,我将属性存储在我的application.properties文件中:
tokenSecret: some_secret
apiKey: some_key
Run Code Online (Sandbox Code Playgroud)
并可以通过以下方式访问它们:
@Component
public class AppProperties {
private Environment environment;
@Autowired
public void setEnvironment(Environment environment) {
this.environment = environment;
}
public String getTokenSecret(){ …Run Code Online (Sandbox Code Playgroud) 我目前正在学习Java 8流。我有一个整数的列表,从1到1000的值现在,我想创建整数,其中每个元素是的每个元素相乘的结果的新列表编号列表与对方元素号码列表。
以下代码可以完成这项工作:
List<Integer> numbers = IntStream
.range(1,999)
.mapToObj(Integer::valueOf)
.collect(Collectors.toList());
List<Integer> products = new ArrayList<>();
for (Integer i : numbers) {
for (Integer j : numbers) {
products.add(i*j);
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以通过使用流来避免嵌套的for循环?