gpt4 book ai didi

java - 使用 Artifactory 代理到 Docker Hub 并在防火墙内使用测试容器进行测试

转载 作者:行者123 更新时间:2023-12-02 05:15:26 24 4
gpt4 key购买 nike

当 Spring Boot 应用程序使用 testcontainers 测试库写入 mongodb 时,我尝试运行该应用程序的测试。测试容器应该启动一个运行 mongodb 的 Docker 镜像。然后我运行测试,它连接到数据存储,写入一些内容,并且我有断言来确保这些内容被存储。然后一切都会消失。

测试需要在我们公司网络内的 Jenkins 构建代理(Red Hat Linux 7.5 上)上运行,该网络已被很好地锁定。

我们已经为 Artifactory 设置了 docker hub 的代理。当我通常进行 docker 登录时,我会给它 https://artifactory.example.com或者只是用“artifactory.example.com/docker-all/image:1.2.3”执行 docker run

Jenkins 运行的日志中有以下内容:

00:02:13.052  2019-05-22 00:15:59.647  INFO 83570 --- [           main] o.t.d.DockerClientProviderStrategy       : Found Docker environment with Environment variables, system properties and defaults. Resolved: 
00:02:13.052 dockerHost=unix:///var/run/docker.sock
00:02:13.052 apiVersion='{UNKNOWN_VERSION}'
00:02:13.052 registryUrl='https://index.docker.io/v1/'
00:02:13.052 registryUsername='cicduser'
00:02:13.052 registryPassword='null'
00:02:13.052 registryEmail='null'
00:02:13.052 dockerConfig='DefaultDockerClientConfig[dockerHost=unix:///var/run/docker.sock,registryUsername=cicduser,registryPassword=<null>,registryEmail=<null>,registryUrl=https://index.docker.io/v1/,dockerConfigPath=/home/cicduser/.docker,sslConfig=<null>,apiVersion={UNKNOWN_VERSION},dockerConfig=<null>]'

问题:我不知道如何将其中列出的registryUrl 设置为“https://artifactory.example.com/docker-all ”以及正确设置registryUsername 和registryPasswords(如果我们的Artifactory 被锁定以进行读取)。

网上有很多关于使用 HTTP 代理提供对整个互联网的访问的信息。我想我已经找到了如何做到这一点。但这不是我需要做的。

最佳答案

看来你can't change the URL

您可以在 Jenkins 中以相同的方式登录到远程 Artifact docker hub,可能使用 credentials plugin - 假设你有 Jenkinsfiles

希望您也可以从 Jenkins docker 代理访问您的 Artifactory 。如果不是,那么这是一个单独的问题

关于java - 使用 Artifactory 代理到 Docker Hub 并在防火墙内使用测试容器进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56297870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com