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

标签 java spring-boot docker artifactory testcontainers

当 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/

相关文章:

java - 如何让 JScrollPane 与其父 JPanel 一起调整大小

java - java.lang.NoClassDefFoundError : 中的错误

java - 获取查询<T>

java - Spring Cloud Stream 验证

spring-boot - Spring 与 Jackson ObjectMapper 和 Java 8 Time 集成 (JSR-310)

java - 从有界 nextInt(int bound) 结果中查找 Java.util.Random 种子

docker - 有没有办法全局设置/dev/shm 的大小,这样 --shm-size 标志不需要设置为 docker run 的一部分?

docker - 在带有 windows/servercore 的 Windows 容器上以 headless 模式运行 Firefox

java - Spring Boot 应用程序在 Kubernetes 扩展时崩溃

spring-boot - Spring Boot 和 R2DBC : io. r2dbc.spi.R2dbcNonTransientResourceException:连接验证失败