如何配置 docker/docker-compose 默认使用 Nexus 而不是 docker.io?

2024-04-02

我正在尝试使用 TestContainers 来运行 JUnit 测试。 但是,我得到了InternalServerErrorException: Status 500: {"message":"Get https://registry-1.docker.io/v2/: Forbidden"} error.

请注意,我使用的是安全网络。

我可以通过这样做来复制这个docker pull testcontainers/ryuk在命令行上。

$ docker pull testcontainers/ryuk
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: Forbidden

但是,我需要它从我们的 Nexus 服务中提取:https://nexus.company.com/18443。 在 docker-compose 文件内,我已经使用了正确的 Nexus 图像路径。 (通过使用 docker-compose 手动启动来验证。但是 TestContainers 还会拉入 docker-compose 文件之外的其他映像。正是这些映像导致了失败。

我很高兴 Docker Desktop 或 TestContainers 配置更改可以为我解决这个问题。

注意:我已经尝试将 Nexus 的主机 URL 添加到仪表板上的 Docker 引擎 JSON 配置,执行时不会更改生成的错误docker pull.


自从版本1.15.1测试容器允许自动将前缀附加到所有 docker 镜像。如果您的私有注册表配置为 docker hub 镜像,此功能应该有助于解决上述问题。

引用自文档 https://www.testcontainers.org/features/image_name_substitution/#automatically-modifying-docker-hub-image-names:

然后,您可以配置 Testcontainers 将前缀registry.mycompany.com/mirror/应用于它尝试从 Docker Hub 提取的每个映像。这可以通过以下两种方式之一完成:

  • 设置环境变量 TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX=registry.mycompany.com/mirror/
  • Via config file, setting hub.image.name.prefix in either:
    • 用户主目录中的 ~/.testcontainers.properties 文件,或者
    • 类路径上名为 testcontainers.properties 的文件

基本上设置与 docker-compose 文件中的图像相同的前缀。

如果由于某种原因您坚持使用旧版本,不推荐使用的解决方案是仅覆盖ryuk.container.image财产。阅读相关内容here https://www.testcontainers.org/features/configuration/#customizing-images.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何配置 docker/docker-compose 默认使用 Nexus 而不是 docker.io? 的相关文章

随机推荐

  • 在 Javascript 中处理多个按键事件的最佳方法是什么?

    游戏中按空格键会进行角色射击 出现确认框时按空格键会使该框消失 高分形式按空格键会在输入框中添加一个空格 在此示例中 同一键有多个事件 但一次仅触发一个事件 是否有通用 或特定于Javascript 方法或编程方式将事件添加到某个键 以便它
  • 将包含对象的数组转换为不带 foreach 的关联数组

    我有一个类似的数组 json decode 的结果 array 2 0 gt object stdClass 1 3 key gt string 6 sample startYear gt string 4 2000 endYear gt
  • Highchart 动态创建 - 无法正确渲染

    我正在使用动态函数制作高图绘图 在调用函数后它根本不会渲染 稍后如果我调整窗口大小 它会渲染数据吗 有什么具体原因吗 我的功能 var chart document ready function function randomData le
  • R - ggplot2,几个问题,多个相关图

    我在堆栈上问的第一个问题 我对 R 还很陌生 所以请原谅任何冒犯礼仪的行为 我正在使用 ggplot2 绘制 2 个堆积面积图 数据是来自 Oracle 数据库的等待事件 这是一个性能调整图表 我有几个问题 下面的两个图没有正确排列 很可能
  • 如何为 ggplot2 中具有稳定映射的分类变量分配颜色?

    上个月我一直在加快 R 的学习速度 这是我的问题 在 ggplot2 中为具有稳定映射的分类变量分配颜色的好方法是什么 我需要在具有不同子集和不同数量的 calcategories 变量的一组图表中保持一致的颜色 例如 plot1 lt g
  • C++“声明和初始化”语句是表达式吗?

    语言标准说 注 第 5 条定义了语法 求值顺序和含义 58 表达式是一系列运算符和 指定计算的操作数 一个表达式可以产生一个 值并可能引起副作用 尾注 例如 我有下面的代码 int i 1 A obj 那么 上述两种说法都算 表达 吗 st
  • 在Python中的下划线处分割并存储第一个值

    我有一个像 df 这样的 pandas 数据框 带有列构造名称 construct name aaaa t1 2 cccc t4 10 bbbb g3 3 等等 我想首先拆分下划线处的所有名称 并将第一个元素 aaaa cccc 等 存储为
  • Ajax成功函数未接收数据

    下面是我的网络表单的网络方法 它返回数据列表并且工作正常 WebMethod public static List
  • 与 Assembly Load(byte[] rawAssembly) 相反的操作

    我注意到有一种方法System Reflection Assembly 即Assembly Load byte rawAssembly 我想知道是否有类似的相反操作byte Store Assembly assembly 如果没有 我如何将
  • 用于创建具有合并功能的电子邮件模板的良好库

    我正在寻找一个非常好的库 组件 框架来为我的网络应用程序创建电子邮件模板 我们定期发送一些电子邮件 激活你的帐号 Welcome 感谢您的订单 Etc 我想为我的网络应用程序的非技术管理员提供一种方法 查看当前的电子邮件模板 HTML 所见
  • python字符串'“':字符串内的单双引号

    双引号看起来像这样 如果我把它放在 python 字符串中 我会得到这个 在python中 我可以在字符串中放入两个双引号 这会打印为两个双引号 但是 我不能像以前一样在字符串中放置一个双引号 我在 eclipse 中使用 pydev 执行
  • 根据键名从 HashMap 获取字符串值

    我有一个HashMap有各种键和值 我怎样才能得到一个值 我在地图上有一把钥匙叫my code 它应该包含一个字符串 我怎样才能得到它而不必遍历地图 到目前为止我已经 HashMap newMap new HashMap paramMap
  • 仍然可以通过 put 和 printf 到达

    Valgrind 正在报告 printf 和 put 等函数上仍可到达的 错误 我真的不知道该怎么办 我需要摆脱它 因为这是一个学校项目 不能有任何错误 我该如何处理这个问题 从报告中我可以看到这些函数使用malloc 但我一直以为他们自己
  • 使用 XUnit 断言异常

    我是 XUnit 和 Moq 的新手 我有一个以字符串作为参数的方法 如何使用 XUnit 处理异常 Fact public void ProfileRepository GetSettingsForUserIDWithInvalidArg
  • 如何将 java 代理附加到正在运行的 spring-boot 应用程序

    我有一个 spring boot 应用程序打包成在端口上运行的 war 现在我想将 java 代理附加到该应用程序 以使用 Prometheus 监控微服务 但不使用任何 Spring 插件来抓取指标 为此 我找到了一种通过启动应用程序来运
  • 如何让 SharePoint 链接列表默认在新窗口中打开?

    在 SharePoint 中 可以轻松设置由指向其他文档 文件夹 网站等的链接组成的列表 Web 部件 不幸的是 单击这些链接时 默认行为是在当前浏览器窗口中打开页面 也就是说 它不会在浏览器的新实例中打开页面 事实证明 这对我网站上的许多
  • 如何在 Haskell 中派生 GADT 的数据实例?

    我有一个 GADT 它只与两个不同的参数一起使用 ForwardPossible 和 Used when a forward definition is possible data ForwardPossible ForwardPossib
  • SO_REUSEADDR 和 SO_REUSEPORT 的行为改变了吗?

    在旧版本的 Mac OS X 中 通配符绑定的工作方式如下所述 套接字选项 SO REUSEADDR 和 SO REUSEPORT 它们有何不同 它们在所有主要操作系统中的含义都相同吗 https stackoverflow com que
  • 如果 C++ 没有这样的功能,那么像 Qt 这样的框架如何创建 GUI?

    从这里收到的问题的答案来看 图形仅使用标准 C https stackoverflow com questions 15611024 graphics using standard c only 好像C 本身没有GUI功能 那么像 Qt 这
  • 如何配置 docker/docker-compose 默认使用 Nexus 而不是 docker.io?

    我正在尝试使用 TestContainers 来运行 JUnit 测试 但是 我得到了InternalServerErrorException Status 500 message Get https registry 1 docker i