当前位置: 首页 > 知识库问答 >
问题:

带有JHipster和Docker注册表的Gitlab CI/CD

丁昌翰
2023-03-14

我制作了一个JHipster应用程序,我想添加一个带有私有Gitlab runner的CI/CD,以便部署在私有Docker注册表上。我得到了这样的失败:

[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:2.0.0:build (default-cli) on project powerfront: Invalid image reference :master-35274d52bd71e28f08a0428832001cc67e9c446d, perhaps you should check that the reference is formatted correctly according to https://docs.docker.com/engine/reference/commandline/tag/#extended-description
 [ERROR] For example, slash-separated name components cannot have uppercase letters: Invalid image reference: :master-35274d52bd71e28f08a0428832001cc67e9c446d

这是我演讲的相关部分。gitlab ci。yml

# Uncomment the following line to use gitlabs container registry. You need to adapt the REGISTRY_URL in case you are not using gitlab.com
docker-push:
    stage: release
    variables:
        REGISTRY_URL: 10.1.10.58
        IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHA
    dependencies:
        - maven-package
    script:
        - ./mvnw -ntp compile jib:build -Pprod -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token  -Djib.to.auth.password=$CI_BUILD_TOKEN -Dmaven.repo.local=$MAVEN_USER_HOME

编辑:有一个未配置的变量。现在我得到了

 [ERROR] I/O error for image [10.1.10.58:5000/powerfront]:
 [ERROR]     javax.net.ssl.SSLException
 [ERROR]     Unrecognized SSL message, plaintext connection?

如何告诉运行程序接受不安全的(明文)连接?

共有2个答案

暨高洁
2023-03-14

我不确定这是Gitlab CI问题。但是使用JHipster。
CI_REGISTRY_IMAGE的值是什么?我们在错误消息中看不到该值。

子车心思
2023-03-14

要发布到私有(或其他公共)注册表,您的映像名称必须以注册表的主机名开头:private.registry.io/group/image: version,以便Docker守护程序知道它不会推送到Docker Hub(默认),而是推送到private.registry.io

你也可以使用Kaniko来发布你的图片,因为它不需要在Docker守护进程上使用dind或特权模式。

 类似资料:
  • 问题内容: 我创建了两个Docker容器。第一个提供专用的Docker注册表,第二个提供官方Docker注册表的镜像: 现在,我想将两者结合起来。每当用户 提取 图像时,都应首先查询私有注册表,然后查询镜像。当图像被 推送时, 它们仅应被推送到私有注册表。 我不知道如何做到这一点。任何帮助表示赞赏。 问题答案: 您不能仅仅强制所有 docker push 命令推送到您的私有注册表。原因之一是您可以

  • 问题内容: 我已经在一个docker容器中运行了一个gitlab服务器,并在另一个docker容器中运行了一个外部nginx服务器,因此gitlab nginx服务器被停用了。现在我想使用gitlab服务器中包含的docker注册表。 我尝试从管理手册中获取信息:https : //docs.gitlab.com/ee/administration/container_registry.html

  • 我在docker容器中运行JHipster注册表。在docker上运行的所有应用程序都可以连接并在注册表endpoint(端口8761)中注册。 但是,当我尝试连接一个运行在IDEA上的应用程序时,我在尝试连接到注册表endpoint时收到一个错误: 应用程序连接到Register(在日志中查看),但之后我收到错误: 有人知道我如何连接到docker中运行的注册表吗? 我的Spring申请。yml

  • 我正在尝试将一个图像推送到我的docker私有存储库: Docker告诉我: push引用存储库[living-registry.com:5000/busybox]Get https://living-registry.com:5000/v1/_ping:read tcp 195.83.122.16:39714->195.83.122.16:5000:read:对等体重置连接 这些命令正在Core

  • 我有一个非常奇怪(我想很容易解决)的问题:)我试图在Azure中有一个工作的CI/CD管道。为此,我在Azure devops中创建了一个存储库,并创建了构建和发布管道。我将docker图像发布到Azure容器注册表,在发布期间,我将拉出这个图像(或者至少--我正在尝试,因为它不起作用),并试图将它发布到Webapp for Containers上。在我的例子中,“应用程序”是。NET Core3

  • 问题内容: 我尝试为Docker映像找到一个特定的标签。如何在命令行上执行此操作?我尽量避免全部下载并删除不需要的图像。 在正式的Ubuntu版本https://registry.hub.docker.com/_/ubuntu/中,有多个标签(针对该版本),而当我在命令行上搜索它时, 同样在命令行 https://docs.docker.com/engine/reference/commandli