小编Aso*_*oub的帖子

Docker:在不修改 daemon.json 的情况下使用不安全的注册表

我目前处于开发环境中,因此并非到处都有证书,或者它们不合规(使用 myrepo.dev.corp.fr,其中证书为 *.corp.fr)。

我正在尝试docker push使用不安全的 docker 存储库,但遇到多个错误:

获取https://repo.dev.corp.fr/v2/:x509:证书对 *.corp.fr 有效,对 repo.dev.corp.fr 无效

或者

获取https://anotherrepo.corp.fr/v2/:x509:由未知机构签名的证书

我试图告诉 docker 该存储库不安全,不要使用 TLS 或其他任何东西,但我不能。

我使用的是 docker 版本 18.09.6。我没有 root 访问权限/etc/,因此无法修改daemon.json或进行任何操作。而且我也无法重新启动docker服务。但是我确实有写/读权限~/.docker/

我尝试过的:

  • 将另一个文件设置为conf docker --config-file mufile.json push etc.,但似乎不应该这样使用( unknown flag: --config-file)

  • --inscure-registry repo.dev.corp.fr在我的 docker cli 中使用。我已经尝试了网站上解释的一些内容(https://docs.docker.com/engine/reference/commandline/cli/)。将环境变量设置为 Linux env var 似乎不起作用,是否需要在文件中设置?例如,export DOCKER_CONTENT_TRUST=1仍然给我一个“由未知权威机构签署的证书”。此时 docker 不应该停止检查证书吗?

  • 他们正在使用这里(将不安全的注册表添加到 DockerDOCKER_EXTRA_REGISTRIES='--insecure-registry b.example.com' ) ,但它位于/etc/. 所以我无法改变它。

  • 我可以制作自己的证书并告诉 docker 使用它,但我需要在我尝试加入的存储库上更改它,对吧?我想仍然会有certificate …

ssl insecure-connection docker

6
推荐指数
0
解决办法
3734
查看次数

通过Spring xml数据源配置postgresql驱动程序

我一直在尝试配置使用xml Spring配置文件中声明的postgresql数据源建立的连接.

<bean id="myDataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="jdbc:postgresql://localhost:5432/dbname" />
        <property name="username" value="postgres" />
        <property name="password" value="" />
        <property name="socketTimeout" value="10"/>
    </bean>
Run Code Online (Sandbox Code Playgroud)

我知道,我不应该DriverManagerDataSource从春天开始使用这个课程(我们很快会转到C3p0或DBCP)因为它不是真正的汇集.我正在尝试设置postgresql连接的socketTimeout值(在此处描述https://jdbc.postgresql.org/documentation/head/connect.html)但当然,"socketTimeout"不是数据源的属性,所以它不起作用.

是否可以通过datasource xml的配置来实现?或者我应该在别处做什么?因为数据源管理连接我不认为我能做到

props.setProperty("timeout",30);
Connection conn = DriverManager.getConnection(url, props);
Run Code Online (Sandbox Code Playgroud)

我甚至可以使用DriverManagerDataSource执行此操作吗?我试图搜索,但我找不到任何有用的东西,因为没有很多人真正使用它.

java sql postgresql spring

5
推荐指数
1
解决办法
2万
查看次数

JPQL/SQL 获取按列分组的最新记录

我目前正在将 JPQL(我认为是最新版本)与 postgresql 数据库一起使用,并且我正在尝试获取按某些(不是所有列)分组的最新对象。

假设我有一个像这样的 MyTable 表:

id | name | color | shape | date_of_creation | other_stuff|
---+------+-------+-------+------------------+------------+
01 | apple|    red| circle|        30/12/2015|       stuff|
02 | apple|    red| circle|        15/12/2015|   somestuff|
03 | apple|  green| circle|        01/12/2015|anotherstuff|
04 |   box| orange|  cubic|        13/12/2015|   blahblah1|
05 |   box| orange|  cubic|        25/12/2015|   blahblah2|
Run Code Online (Sandbox Code Playgroud)

我只想要最新的按名称、颜色和形状分组,如下所示:

id | name | color | shape | date_of_creation | other_stuff|
---+------+-------+-------+------------------+------------+
01 | apple|    red| circle|        30/12/2015|       stuff|
05 |   box| orange|  cubic|        25/12/2015|   blahblah2| …
Run Code Online (Sandbox Code Playgroud)

java postgresql jpa jpql greatest-n-per-group

5
推荐指数
1
解决办法
949
查看次数

Kubernetes-helm:为多个应用程序使用一个模板

这就是我目前所拥有的:

基本的helm create附带一个values.yaml文件和template一个带有deployment.yaml. 该Deployment文件已被修改为管理 docker 镜像中的 spring-boot 应用程序。

现在values.yaml包含类似的东西

myApp:
  repository: myApp.mycompany.com/demo/my-app-customers
  tag: stable
Run Code Online (Sandbox Code Playgroud)

并且deployment.yaml包含

spec:
  template:
    spec:
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.myApp.repository }}:{{ .Values.myApp.tag }}"
Run Code Online (Sandbox Code Playgroud)

假设我必须管理另一个 spring-boot 应用程序,非常接近“my-app-customers”。我想我只需要添加另一行values.yaml,就像这样:

mySecondApp:
  repository: myApp.mycompany.com/demo/my-app-others
  tag: stable
Run Code Online (Sandbox Code Playgroud)

但这不起作用,deployment.yaml因为它使用.Values.myApp.repository. 这意味着我需要创建另一个文件来部署第二个应用程序deployment-others.yaml.Values.mySecondApp.repository因此,不同的应用程序不可能使用相同的模板。

  • 我是对的还是我错过了什么?
  • 是否有另一种方法可以做到这一点,或者我是否需要复制过去的类似部署(和其他)文件并为每个应用程序提供一个模板文件?

templates kubernetes kubernetes-helm

5
推荐指数
1
解决办法
5899
查看次数

是在方法中传递方法引用时创建的对象

据我所知,当您在函数中定义方法时,就会实例化一个对象:

myList.stream().map(x->x.getName().replaceAll('a','b')).toList();
Run Code Online (Sandbox Code Playgroud)

或同等的

 Function<MyObject,String> myFunc = x -> {return x.getName().replaceAll('a','b');}
 myList.stream().map(myFunc).toList();
Run Code Online (Sandbox Code Playgroud)

x->x.getName().replaceAll('a','b')被创建为功能接口对象(并且需要内存分配,new某处/某种方式,对吧?)。

但是,如果我传递一个已经存在的方法作为参数,是否会创建任何内容?

class A{
  public list<String> transform(List<String> input){
    return input.stream().filter(this::myFilter).filter(A::staticFilter).toList();
  }
  public boolean myFilter(String s){ // Whatever }
  public static boolean staticFilter(String s) { // whatever }
}
Run Code Online (Sandbox Code Playgroud)

这里发生了什么:

  • 是否myFilter“包装”在函数式接口中?(静态方法引用是否相同?)
  • 是否有一些特定的事情发生在字节码级别,而在语言级别上并不“清晰”(例如方法指针或其他东西?)。

java lambda

5
推荐指数
1
解决办法
366
查看次数

SVN“禁止访问‘/svn/myproject’,但仅限于 Tortoise

我正在尝试使用 tortoise 来检查带有虚拟机的项目,但我得到了

无法连接到存储库“ http://svn.mycompany/svn/myproject ”访问/svn/myproject'被禁止

但这不是一个正确的问题,因为在我的物理计算机上,我可以使用相同的帐户(每次都会打开 Windows 识别弹出窗口)毫无问题地执行此操作(无论是使用 tortoise、eclipse svn、chrome 等) 。

我还可以在我的虚拟机上毫无问题地访问http://svn.mycompany/svn/并查看“myproject”文件夹。

更糟糕的是:在我的虚拟机上,使用 Internet Explorer 和 Eclipse 的 subversion 的 URL 都没有任何问题。

我的物理计算机上的 Tortoise 没有配置任何代理,我的虚拟机也是如此。也许它使用 IE 的代理或类似的东西?

我看过其他问题,但大多数问题根本无法访问存储库。这也不是区分大小写的错误(因为没有大写)。

我尝试过重新安装它,使用tortoise自带的svn CLI,清理识别数据。任何人都知道我能做什么?(除了更改 SVN 客户端或使用 eclispe 的 svn 来检查所有内容)

svn tortoisesvn

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

OpenStack:什么是堆栈?

据我所知,“堆栈”(在 OpenStack 中)是资源的集合。但我不明白它是如何“定界”的。

有多个问题,但我认为它们可以很容易地回答在一起,因为它们都是相互关联的。

首先,什么是资源?

  • 我猜它包括服务器,但它包括负载均衡器吗?或负载均衡器PoolMember作为特定类型的资源?
  • 浮动 IP 是否会被视为资源或资源的一部分(例如,它链接到的服务器的一部分)?
  • OpenStack 对于这个词是否有那么清晰/精确,还是应该将其用作模糊的概念?

现在真正的问题是一个堆栈:

  • 由一个 YAML 文件组成的资源集合
  • OpenStack实例上的所有资源
  • 您只需决定如何分隔(它可以是一个三层应用程序,因此 3 个服务器加负载均衡器,或实例上的所有堆栈,或只是一台服务器..)

任何能清楚解释答案的官方文档的链接将不胜感激。

openstack

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