我正在尝试在使用 testcontainers 测试库写入 mongodb 时运行 Spring Boot 应用程序的测试。测试容器应该启动一个运行 mongodb 的 Docker 镜像。然后我运行我的测试,它连接到数据存储,写一些东西,我有断言来确保这些东西被存储。然后一切都消失了。
该测试需要在我们公司网络内的 Jenkins 构建代理(在 Red Hat Linux 7.5 上)上运行,该网络已被很好地锁定。
我们为 docker hub 设置了 Artifactory 代理。当我通常进行 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 代理提供互联网访问的信息。我想我已经找到了如何做到这一点。但这不是我需要做的。