首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Spring本机与自定义码头注册中心一起使用

将Spring本机与自定义码头注册中心一起使用
EN

Stack Overflow用户
提问于 2022-05-03 05:59:03
回答 1查看 453关注 0票数 2

我们正在尝试Spring的本土化,遵循他们的指南。另外,我们希望使用Gradle和Buildpack。我们相应地调整了配置(build.gradle)并运行了./gradlew bootBuildImage,以构建SpringNative映像。

问题的出现是因为我们被迫使用我们公司的自定义码头图像注册中心。因此,我们不能直接拔出例如docker.io/paketobuildpacks/run:tiny-cnb,而是必须使用类似docker-io.docker-proxy.ourcompany.com/paketobuildpacks/run:tiny-cnb的东西.

我们已经提取并重新标记了在此过程中使用的构建器图像paketobuildpacks/builder。但是,由于其余的都发生在这个构建容器中,我们不能再使用这个解决方案了。所以我们得到:

代码语言:javascript
复制
* What went wrong:
Execution failed for task ':bootBuildImage'.
> Docker API call to 'localhost/v1.24/images/create?fromImage=docker.io%2Fpaketobuildpacks%2Frun%3Atiny-cnb' failed with status code 500 "Internal Server Error" and message "Get "https://registry-1.docker.io/v2/": context deadline exceeded"

(可能是因为对*.docker.io的连接尝试只会超时。)

到目前为止,我们还没有发现配置进程使用的Docker注册表的可能性。我们还可以找到一个更大的“树”,在这个过程的后面需要更多的依赖关系,在像这里这样的文件中进行描述(其中引用了gcr.io而不是docker.io)。

绝不能让我们直接进入公共登记处,因此没有进一步的想法。那么,您能想到使用您自己的代理注册中心来实现我们构建Spring本地映像的目标的任何明智的可能性吗?

事先非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-03 12:30:48

使用pack cli,您可以运行pack config registry-mirrors add <registry> [-m <mirror...] [flags],ex:pack config registry-mirrors add index.docker.io --mirror 10.0.0.1,其中10.0.0.1是您的私有注册中心。

加/

在Spring的Gradle支持中,您有docker.builderRegistrydocker.publishRegistry设置,但这些设置主要用于提供用于从注册表获取或发布图像的凭据。他们不完全满足我们的需要。

https://docs.spring.io/spring-boot/docs/2.6.7/gradle-plugin/reference/htmlsingle/#build-image.docker-registry

像使用pack cli一样,对镜像功能的支持目前还不是一个选项。一个问题已被打开,以跟踪对此的支持。,所以希望它能在将来的版本中使用。

同时,您可以使用pack cli和上面的镜像选项来构建映像。

一种快速测试/验证的方法:

  1. 运行docker run -d -p 5000:5000 --restart=always --name=registry -e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io registry:2。这将运行一个本地注册表,即后视镜码头枢纽
  2. 运行pack config registry-mirrors add '*' --mirror localhost:5000告诉pack cli使用注册表镜像。
  3. 对你的应用程序运行pack build。您应该看到输出如下:
代码语言:javascript
复制
Using mirror localhost:5000/paketobuildpacks/builder:base for index.docker.io/paketobuildpacks/builder:base
base: Pulling from paketobuildpacks/builder
83525de54a98: Pulling fs layer
807f554cf05f: Pulling fs layer
...

如果你看到那条线,你就知道它正常工作了。

您还应该在pack配置中看到这一点:

代码语言:javascript
复制
> cat ~/.pack/config.toml
[registry-mirrors]
  "*" = "localhost:5000"

这意味着您已经正确设置了注册表镜像。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72095321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档