docker - 如何使用 docker 正确设置 jenkins?

标签 docker jenkins bind

我是 Docker 新手,正在学习如何使用 Jenkins 实现 Docker。我能够使用以下命令成功地将 docker 卷绑定(bind)到我的主机目录

docker run –name jenkinsci -p 8080:8080 -p 50000:50000 -v ~/Jenkins:/var/jenkins_home/ jenkins/jenkins:lts



现在基本的 Jenkins 已设置并绑定(bind)到我的主机,有一些事情我不确定要处理。

(1) 这只能通过 localhost:8080 访问。如何使其他计算机可以访问它?我读过我可以将 URL 更改为我公司的公共(public) IP 地址?这是正确的方法吗?

(2) 我想自动安装选择插件并在全局工具配置中设置路径。 github上有一些tips https://github.com/jenkinsci/docker/blob/master/README.md但我不清楚这个 Dockerfile 的放置位置。例如,如果我想安装插件 MSBuild 和 Green Balls,那会是什么样子?
FROM jenkins/jenkins:lts
COPY plugins.txt /usr/share/jenkins/ref/plugins.txt
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt

我是否必须创建一个名为 plugins.txt 的文本文件,其中包含我要下载的插件列表?这个 Dockerfile 将存储在哪里?

(3) 我还想要一个 Dockerfile 来安装所有依赖项来运行我的 .NET Windows 项目(nuget、msbuild、wix、nunit 等)。我相信这个 Dockerfile 会放在我的 git 仓库中。

基本上,我对所有这些 Docker 信息感到不知所措,并试图将 Docker 与 Jenkins 的交互方式拼凑起来。我将不胜感激有关这些问题的任何建议和指导。

最佳答案

被 docker+kubernetes 淹没是可以的。它包含大量信息和整体转变我们处理应用程序/服务的方式。

  • 要使 jenkins 在所有接口(interface)上可用,请使用以下命令。

  • docker run –name jenkinsci -p "0.0.0.0:8080:8080" -p "0.0.0.0:50000:50000" -v ~/Jenkins:/var/jenkins_home/ jenkins/jenkins:lts
    
  • 是的,您必须提供 plugins.txt文件,并创建一个包含所有必需插件的新 jenkins 镜像。之后,您可以使用这个新图像而不是 jenkins/jenkins:lts。
  • 适合您的工作负载的新镜像应包含您的环境所需的所有依赖项。
  • 关于docker - 如何使用 docker 正确设置 jenkins?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56069032/

    相关文章:

    jenkins - 如何防止 Multibranch Pipeline 作业在 master 上克隆 repo

    javascript - 关闭后窗口不会再次打开 - 解除绑定(bind)

    c++ - mem_fn 到成员对象的函数

    docker - 如何使用NGINX将请求转发到Docker Microservice

    linux - 将目录挂载到 docker 容器

    Docker:来自守护进程的错误响应:删除 myvol:卷正在使用中

    java - Jenkins Git 客户端插件无法执行 FetchCommand

    git - Docker Jenkins 和 Sonar 设置

    Python:在不涉及鼠标的任何事情上使用 .bind() 时遇到问题

    c# - SSL 问题 - 无法使用 docker-compose 连接到多个容器