首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从运行在k8s上的jenkins管道登录并将码头映像推送到(不安全的)工件码头回购

从运行在k8s上的jenkins管道登录并将码头映像推送到(不安全的)工件码头回购
EN

Stack Overflow用户
提问于 2020-08-05 15:25:53
回答 1查看 497关注 0票数 0

我想要达到的目标:能够从运行在kubernetes (jnlp)上的jenkins管道中将码头映像推送到(不安全的)手工码头回购。

我正在尝试什么:,我在jenkins上使用kubernetes插件(运行在k8s上),它运行的是docker:dind容器作为从代理。当我推送它时,它会出现证书错误(x509),因为它是一个不安全的工件回购。因此,为了推进到不安全的工件,我想更新--不安全的注册中心--在码头客户端的daemon.json中。

但不幸的是,即使在更新了docker:dind中的daemon.json之后,它也不会生效,因为使用的对接客户端来自运行k8s的底层节点。(在我的例子中是minikube)和docker:dind被用作守护进程。

因此,我无法在docker客户端中添加我的工件回购--不安全--注册中心,除非我在k8s集群码头客户端上更新k8s(在minikube上)。

我想要做的事情:因此,我想将客户端从k8s节点(Minikube)更改为在kubernetes插件中运行的另一个接口服务器,在那里我可以配置daemon.json。你能帮我吗?或者请提出更好的方法来解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2020-08-07 00:03:48

您可以让jnlp从服务器使用您的主机的停靠守护进程,而不是使用/var/run/docker.sock。然后,您可以编辑主机的/etc/docker/daemon.json以添加不安全的注册表。

假设在管道中定义jnlp-从模板,则可以:

代码语言:javascript
运行
复制
pipeline {
    agent {
        kubernetes {
            yaml """
apiVersion: v1
kind: Pod
metadata:
  label:
    jenkins: slave
spec:
  containers:
  - name: jnlp
    image: registry/jnlp-slave:latest
    volumeMounts:
      - name: docker
        mountPath: /var/run/docker.sock
  volumes:
  - name: docker
    hostPath: { path: /var/run/docker.sock }
"""```
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63268433

复制
相关文章

相似问题

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