问题标签 [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.

0 投票
3 回答
17288 浏览

jenkins - 在预构建的 docker 容器 (jenkins) 中更改用户的 uid

我是 docker 新手,所以如果这是我缺少的一个相当明显的过程,我为前面的愚蠢问题道歉。

我正在使用jenkinsdocker 映像设置一个持续集成服务器。我做了一个docker pull jenkins, 并创建了一个用户jenkins,允许我将/var/jenkins_home容器中的 安装到我的主机/var/jenkins_home(也归jenkins:jenkins用户所有)。

问题是容器似乎jenkins使用 uid 102 定义用户,但我的主机将jenkins用户设置为 1002,所以当我运行它时,我得到:

我只需将主机jenkins用户的 uid 设为 102 in /etc/passwd,但该 uid 已被 sshd 占用。我认为解决方案是将容器更改为使用 uid 1002,但我不确定如何。

编辑

实际上,主机上的用户 102 是消息总线,而不是 sshd。

0 投票
1 回答
1651 浏览

jenkins - 在 Docker 容器中使用 Jenkins 运行测试

我已经看到了一些连接 Jenkins 和 Docker 的资源,但没有一个完全像我想要做的那样,那就是拥有 Jenkins:

  1. 从 GitHub 拉取最新代码
  2. 启动 Docker 容器并与它共享拉取的代码
  3. 在 Docker 容器中运行测试
  4. 生成测试结果报告

在使用 Jenkins 时,我不知道如何将代码从 GitHub 获取到我的 Docker 容器中。我有用于本地测试的容器,但正在尝试使用 Jenkins 自动化该过程。谁能指出我正确的方向?

0 投票
1 回答
83 浏览

docker - 将 java 程序的所有依赖服务作为一个 docker 容器 dockerize 是一个好主意吗

我是一名 Java 程序员。我有一个依赖于 Cassandra、弹性搜索、mongdb 和 Kafka 的 Java 程序。所以每次我尝试运行我的 Java 应用程序时,我都必须启动所有这些服务。所以你认为这是一个用所有这些服务创建一个 docker 容器并将该 docker 文件作为该 java 项目的一部分签入是个好主意吗?

0 投票
0 回答
592 浏览

jenkins - Docker 容器无法使用 Jenkins 安装卷

我使用 Jenkins Docker 插件来构建我的图像(这有效),我可以使用类似的命令很好地运行容器

但是,当我跑步时

我遇到了一些问题。卷 /test 存在于容器中,但它不包含 $WORKSPACE 拥有的任何文件。在运行我的 docker 容器之前,我做了一个

其中显示以下内容:

并查看我想与容器共享的 git 存储库(test_repo),其中包含所有正确的文件,但是当我这样做时在容器内

我只看到

两者都不包含我的代码,我通过使用 $WORKSPACE/test_repo 和 $WORKSPACE/target 作为我挂载的卷进一步测试验证了这些代码。

为什么容器中看不到我的 $WORKSPACE 文件?我怎样才能让它正常工作?

编辑: $WORKSPACE 的值 = /var/tmp/workspace/test-jenkins 其中 test-jenkins 是我的 Jenkins 工作的名称

0 投票
2 回答
645 浏览

jenkins - 在 docker 容器中使用 Jenkins 构建 ASP.NET 5

我正在尝试使用 Jenkins 构建一个 Asp.net 5 应用程序。Jenkins 托管在一个 docker 容器内(该镜像基于官方的 jenkins docker 镜像)。

ASP.Net 5 已使用 ubuntu 指令安装到通过 docker exec 植根的容器中。

在容器内我可以执行 dnvm、dnu 等,但是 Jenkins shell 脚本找不到命令。dnvm upgrade 已经运行,我相信它应该可以在路径上使用。

最后的手段我可以考虑尝试以 root 身份运行 Jenkins,但这对我来说并不合适。

有任何想法吗?

0 投票
2 回答
746 浏览

jenkins - 使用 jenkins 做 docker pull

我想使用 jenkins 执行后续步骤:

我已经在 jenkins 上安装了 docker 插件,但这可行吗?docker 插件页面中的文档 很差。

0 投票
1 回答
2168 浏览

jenkins - 无法从詹金斯启动容器

在 Jenkins 中,我安装了 Docker 构建步骤插件。
在 Jenkins 中,创建作业并在其中执行 docker 命令选择构建映像。镜像是使用 Dockerfile 创建的。Dockerfile 是:

然后我尝试创建容器并创建容器。
当我尝试启动容器时,容器没有运行。
当我用命令检查时:

,它只显示状态created
它不在运行或Exited状态。

的输出docker ps -a是:

码头工人ps -a

如何使用詹金斯启动容器?

0 投票
2 回答
31419 浏览

docker - 如何在具有正确组的 docker 容器中将 docker socket 挂载为卷

我想在 docker 容器中运行 Jenkins 实例。

我希望 Jenkins 本身能够启动 docker 容器作为奴隶来运行测试。

似乎最好的方法是使用

资源

Dockerfile我正在使用的是

如果我在我正在运行的容器中启动一个 bash 会话并docker info在我的图像上运行,我会得到

如果我以 root 身份运行 bash 会话

所以我猜想docker我将 Jenkins 用户添加到的组是内部​​ docker 的组,因此如果没有sudo. 这是一个问题,因为 Jenkins docker 插件等未设置为使用sudo.

如何安装套接字以便可以从图像中使用它而不使用sudo

0 投票
1 回答
8411 浏览

docker - 在构建期间跳过 dockerfile 中的错误

只是想知道是否有更好的方法来跳过可能失败的命令(因为我正在使用 jenkins 来构建和部署应用程序)

现在我正在做这样的事情

0 投票
2 回答
5762 浏览

jenkins - Jenkins 与 Docker 插件 java.lang.NullPointerException:未指定 uri

我正在尝试将 Docker 插件与 Jenkins 一起使用。但是 Jenkins 无法访问 REST API。

在 Jenkins 配置中,我放置了 Docker REST URL:http://127.0.0.1:4243当单击测试连接时,它给了我Something went wrong, cannot connect to http://127.0.0.1:4243, cause: null

但是,当我登录到用户 jenkinssu jenkins并执行所有操作时,curl 127.0.0.1:4243/info一切都按预期进行。我用-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock.

我究竟做错了什么?