问题标签 [jenkins-docker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - 不支持 Unix 协议 - Docker 插件版本 - 0.16.2
当我尝试使用 docker 插件的最新版本将我的 Jenkins 连接到 docker 时,它没有连接!
错误 - “org.apache.http.conn.UnsupportedSchemeException:不支持 unix 协议(显示详细信息)”使用 unix:///var/run/docker.sock 命令(如他们的帮助标签中提供的那样 - 看到这一点感到震惊) !
但是当我将版本降级到 0.16.1 并且它与上面的命令连接时,这不会发生!
请帮助有关我应该在 Jenkins 配置的 docker cloud 部分中输入“Docker URL”的最新版本。
jenkins - Jenkins Amazon ECR:没有基本的身份验证凭证
我无法使用 Jenkins Pipeline 将 ocker 图像推送到 Amazon ECR:我总是得到no basic auth credentials
:-(
这是我的设置:
- 詹金斯 2.46.2
- 亚马逊 ECR 插件 1.4
- 我已将 AWS 凭证添加
aws-jenkins
到 Jenkins(在本地测试并成功推送到 AWS ECR) - 我已经打印
/root/.dockercfg
在我的调试身份验证Jenkinsfile
詹金斯文件:
日志:
有任何想法吗?
更新(2017-05-23):
这是 Jira 问题:
https ://issues.jenkins-ci.org/browse/JENKINS-44143
docker - Jenkins docker - 运行容器,执行 shell 脚本等
我正在尝试在 Jenkins 管道中运行 docker 容器。
我的 Jenkinsfile 中有以下内容:
在test-gatling.sh
我有这个:
该ls
命令仅用于测试,但是当它执行时,它会列出我的 github 存储库的文件和文件夹,而不是denvazh/gatling
容器内的文件。这是为什么?我认为该docker run -it [...]
命令会打开容器以便可以在其中运行命令?
=================
另外,我如何运行一个容器并让它运行,而不在其中执行任何命令?(在 Jenkins 流水线中)
我想运行:docker run -d -p 8080:8080 -t [my_container]
并在端口 8080 上访问它。我该怎么做...?
docker - 如何将詹金斯连接到码头?
我有一个詹金斯服务器。在那里我无法安装docker。所以问题是将jenkins与docker服务器集成的正确方法是什么?集成它的最快最简单最方便的方法是什么?
1.通过安装了docker的jenkins节点
2.通过ssh?如果 - 配置看起来如何?
3.仅通过在 jenkins 主服务器上安装的 docker
4.其他?
jenkins - jenkins中的sbt输出给出垃圾字符
在输出中打印以下内容
代替
我怎样才能摆脱多余的垃圾字符?我正在使用 jenkins 使用 sbt 构建 scala 项目。
jenkins - 使用 Jenkinsfile 时如何签出 Docker 容器内的存储库?
我目前已经设法设置了一个 Jenkins 文件来在容器内运行我的 PHP 分析。这是它的要点:
当它运行时,似乎 repo 已签出到主机上,并且该目录已安装到目录中的 docker 容器中/app
。(我还没有找到任何配置,所以我不确定这是在哪里定义的。)
在同一个容器中,我在目录中安装了 Magento2 /var/magento2
。我需要在 Magento2 代码库的范围内运行一些测试。这意味着我需要将当前分支签出到容器中的特定目录中,/var/magento2/vendor/myorg/mypackage/
但签出的 repo 似乎位于/app
.
如何在容器内的某个位置签出 repo?
jenkins - Jenkins Job Builder docker构建和发布插件问题
当我尝试使用 Jenkins job builder for docker build and publish plugin 构建 Jenkins 作业时,我遇到了问题。我在这里有两个问题:
1.) 在存储库标签中它不接受 "/" 。2.)注册表 url 和密码没有反映在我的 jenkins 作业配置中(间距正确)这是我的作业模板:
作业模板:名称:'{name}_job' 描述:'自动生成的测试'节点:PROD-SLAVE 构建器:
- 外壳:| 呸呸呸
docker-build-publish: repo-name: "npu-cluster/{name}" repo-tag: 'BUILD_NUMBER' no-cache: false no-force-pull: false skip-build: false 指纹: true skip-decorate:假跳过最新:真跳过标签:假文件路径:'{name}/Dockerfile' 注册表 URL:url 注册表凭据 ID:凭据 ID
ssh-builder:ssh-user-ip:centos@ip 命令:blah blah
docker - Jenkins 和 Docker 设备上没有空间 - 如何正确清理
我们在 Ubuntu 16.04.1 服务器上运行 Jenkins(版本 2.60.1)。我们最近遇到的问题之一是我们经常收到错误“设备上没有剩余空间”。
我知道在使用 Docker 时,由于遗留的文件占用了不必要的空间,因此需要进行严格的清理过程。
我们使用CloudBees Docker Build and Publish 插件来处理构建并推送到 AWS ECS。我想过删除所有未使用的图像。问题是如果我登录到 Jenkins 实例(通过 SSH)并尝试运行它给出的 docker 命令 - “无法连接到 Docker 守护进程。docker 守护进程是否在此主机上运行?”
我想我需要在 Jenkins 环境或插件的一部分中执行此操作?
有人处理过这个问题或有什么建议吗?- 我真的很感激。
jenkins - Jenkins Slave 离线节点连接超时/关闭 - Docker 容器 - 重新启动步骤 - 配置正在选择旧端口
詹金斯版本: 1.643.2
Docker 插件版本: 0.16.0
在我的 Jenkins 环境中,我有一个带有 2-5 个从节点服务器(slave1、slave2、slave3)的 Jenkins 主服务器。
这些从站中的每一个都使用 Docker 插件在 Jenkins 全局配置中进行配置。
此刻一切正常。
我看到我们的监控系统对 slave3 上的高 SWAP 空间使用率发出了一些警报(对于 ex IP:11.22.33.44),所以我 ssh'ed 到那台机器并运行:sudo docker ps
这给了我这个 slave3 上当前正在运行的 docker 容器的有效输出机器。
通过ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -10
在目标从属机器上运行(其中运行 4 个容器),我发现消耗所有 RAM 的前 5 个进程java -jar slave.jar
正在每个容器内运行。所以我想为什么不重新启动狗屎并收回一些记忆。在以下输出中,我看到了该步骤sudo docker ps
之前和之后的命令状态。docker restart
<container_instance>
向右滚动,您会注意到在容器 ID 以 结尾的第二行中,主机(slave3)机器上...0a02
的虚拟端口(列在标题NAMES下)是 1053(映射到容器的虚拟 IP 的端口 22 用于 SSH)。很酷,这意味着,当来自 JenkinsManage Node
部分,如果您尝试重新启动从属容器,Jenkins 将尝试连接到主机 IP 的 11.22.33.44:1053 并执行任何应该成功启动从属的操作。所以,詹金斯在某个地方持有那个端口(1053)。
运行后,sudo docker restart <instanceIDofContainer>
我运行free -h
/grep -i swap /proc/meminfo
发现 RAM(之前已完全使用,仅显示剩余 230MB 可用空间)现在是 1GB 可用空间,SWAP 大小总共为 1G,使用了 1G(我尝试了 swappiness 60 或 10),现在是 450MB交换空间免费。所以警报的事情得到了解决。凉爽的。
但是,现在正如您从sudo docker ps
上面的输出中注意到的那样,在重新启动步骤之后,对于该容器 ID ...0a02
,我现在得到了一个新的 PORT# 1054!
当我转到管理节点 > 尝试使该节点脱机、停止并重新启动它时,Jenkins 没有选择新端口 (1054)。它仍然以某种方式选择旧端口 1053(同时尝试在端口 1053 上建立与 11.22.33.44(主机 IP)的 SSH 连接,该端口映射到容器的虚拟 IP 端口#22(ssh))。
如何在 Jenkins 中为此从容器更改此端口或配置,以便 Jenkins 可以看到新端口并成功重新启动?
PS:单击节点上的“配置”以查看它的配置除了名称字段之外没有显示任何内容。通常在常规从属设备中有很多字段(您可以在其中定义标签、根目录、启动方法、属性 env 变量、从属环境的工具,但我猜对于这些 Docker 容器,除了名称字段)。单击Jenkins Global 配置中的测试连接(在Docker插件部分下)显示它已成功找到 Docker 版本 1.8.3
现在,由于 1053 端口 (telnet) 无法正常工作,因为该容器的 instanceID 现在是 1054(在重新启动步骤之后),Jenkins 重新启动步骤在 SSH 连接步骤期间失败(它首先通过 SSH 方法连接)。
docker - 如何找到码头地址?
我使用了这张图片https://hub.docker.com/r/bibinwilson/jenkins-slave/ 并创建了带有以下评论的容器 docker run -d -p 80:80 bibinwilson/jenkins-slave