小编Dan*_*ous的帖子

Maven docker缓存依赖项

我正在尝试使用docker自动化maven构建.我想要构建的项目花了将近20分钟来下载所有依赖项,所以我尝试构建一个可以缓存这些依赖项的docker镜像,但它似乎并没有保存它.我的Dockerfile是

FROM maven:alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ADD pom.xml /usr/src/app
RUN mvn dependency:go-offline
Run Code Online (Sandbox Code Playgroud)

图像构建,它确实下载了所有内容.但是,生成的图像与基本maven:alpine图像的大小相同,因此它似乎没有缓存图像中的依赖项.当我尝试使用图像时,mvn compile它会经历整整20分钟的重新下载所有内容.

是否可以构建一个缓存我的依赖项的maven图像,这样每次我使用图像执行构建时都不必下载它们?

我正在运行以下命令:

docker build -t my-maven .

docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven my-maven mvn compile
Run Code Online (Sandbox Code Playgroud)

我的理解是,RUN在docker构建过程中的任何内容都会成为生成的图像的一部分.

java maven docker dockerfile

28
推荐指数
7
解决办法
2万
查看次数

openssl -subj 参数有哪些可用选项

我在网上发现了许多帖子,展示了如何openssl req ... -subj "/C=US..."以非交互式方式生成证书。

我在任何地方都找不到显示该-subj参数可用的所有选项的文档。我可以在某个地方找到不同的标记及其含义以及可接受的值吗?例如,我希望找到类似的东西:

C for country with acceptable country codes of US=United States, CA=Canada, etc.
Run Code Online (Sandbox Code Playgroud)

openssl

9
推荐指数
1
解决办法
5258
查看次数

docker push,如何查看与注册表的详细交互

我正在将映像推送到私有注册表,我想查看有关与该注册表交互的详细信息。我试过 docker -D、--debug,但没有显示任何细节。

/ # docker -D push registry.company.com:8443/hello-world:test
The push refers to a repository [registry.company.com:8443/hello-world]
45761469c965: Layer already exists
test: digest: sha256:9fa82f24cbb11b6b80d5c88e0e10c3306707d97ff862a3018f22f9b49cef303a size: 524
Run Code Online (Sandbox Code Playgroud)

如何显示有关与我的私有注册表交互的 docker 客户端的详细信息?

docker docker-registry

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

Chrome更改了网址大小写

我在Mac OSX上使用Chrom 66.0.3359.139。

我有一个URL,其中包含区分大小写的可变资源。看起来像这样。

http://example.com/find/resource

我想更改URL的大小写以标识其他资源。更改看起来像这样。

http://example.com/find/资源

我遇到的问题是Chrome在发出请求之前将其更改回小写字母r。

如何告诉Chrome实际发出我键入的请求,而不更改URL的大小写?

google-chrome

6
推荐指数
2
解决办法
847
查看次数

pytest 看不到正在测试的函数的日志

我有一个这样的烧瓶应用程序

from flask import Flask
import logging

app = Flask(__name__)

@app.route('/')
def catch_all():
    logging.warning("I'm a warning")
    return "This is a REST API"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080, debug=True)
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我在日志中看到警告

WARNING:root:I'm a warning
Run Code Online (Sandbox Code Playgroud)

然后我创建一个测试,就像这样

import fulfillment

def test_index():
    fulfillment.app.testing = True
    client = fulfillment.app.test_client()

    r = client.get('/')
    assert r.status_code == 200
    assert 'This is a REST API' in r.data.decode('utf-8')
Run Code Online (Sandbox Code Playgroud)

当我使用 运行测试时pytest,我看不到测试中函数的日志消息。我发现如何查看在 pytest 运行期间创建的正常打印输出?,听起来很相似,但该pytest -s选项不起作用,我认为它实际上是在谈论测试函数的输出,而不是被测函数。

如何查看被测函数的日志?

python logging pytest flask

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

Hadoop 备用 SSH 密钥

我正在设置一个多节点 hadoop 集群,并拥有节点之间无密码 SSH 的共享密钥。我命名了该文件~/.ssh/hadoop_rsa,并且可以使用ssh -i ~/.ssh/hadoop_rsa host.

我需要某种方法来告诉 hadoop 在连接到其他节点时使用这个备用 SSH 密钥。

ssh hadoop

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

Chrome错误:-105(ERR_NAME_NOT_RESOLVED)xip.io

我经常使用xip.io来访问Windows 10上的VirtualBox中本地流浪汉创建的VM.这些通常是不可路由的IP,如下所示:

http://examplephpsite.192.168.76.10.xip.io/

Chrome越来越频繁地收到DNS错误,导致我无法访问自己的网页.从chrome://net-internals/#dns我看到这个错误:

examplephpsite.192.168.76.10.xip.io IPV4    error: -105 (ERR_NAME_NOT_RESOLVED)
Run Code Online (Sandbox Code Playgroud)

我在这里找到了一个解决方法:https://superuser.com/questions/712855/err-name-not-resolved-in-chrome-on-a-single-site,但我现在必须每天多次这样做.

导致此错误的原因是什么方法可以消除它,以便我的xip.io URL始终解析?

dns google-chrome xip.io

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