
基于官方Jenkins Docker镜像的最新容器,具有自动插件安装和环境增强功能。主要用于培训目的,同时也可作为其他实验的良好配置起点。
该镜像包含大量预安装的插件。它还包含Docker二进制文件,因此一旦映射了宿主机的Docker套接字,就可以在Jenkins容器中以“同级模式”启动Docker镜像。
关于Docker支持的重要说明:为了实现Docker构建和运行功能,我采用了将docker和docker-compose二进制文件设置为SUID root的方法,这意味着它们将以用户ID 0(root)执行。这种方法适用于所有平台,包括Mac/Windows的Docker Desktop,而使用Docker系统组方法则无法在这些平台上正常工作。请注意,让Jenkins运行具有高权限的可执行文件,以及通过将Docker套接字挂载到Jenkins容器中从而允许访问Docker主机上的Docker守护进程,都可能涉及潜在的安全问题!
建议的命令行:
bashdocker run -p 10080:8080 --name jenkins -v jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock rgielen/jenkins-training
选项说明:
docker run:基础命令。如果本地没有镜像,将拉取镜像,然后以附加模式启动。-p 10080:8080:将容器的8080端口映射到宿主机的***端口,可根据需要修改宿主机端口。--name jenkins:为容器命名为jenkins,可自定义名称或省略(自动使用随机哈希命名)。-v jenkins_home:/var/jenkins_home:创建并映射名为jenkins_home的数据卷到容器的/var/jenkins_home目录,也可替换为宿主机目录挂载。-v /var/run/docker.sock:/var/run/docker.sock:将宿主机的Docker套接字映射到容器中,使容器内的Docker客户端能通过sudo在宿主机上启动Docker容器。注意此操作可能导致安全风险,因为它实质上允许容器获得对Docker主机的root访问权限。rgielen/jenkins-training:要运行的镜像名称。如果使用上述命令行启动,容器将以附加模式运行。按Ctrl-C可优雅关闭容器。若在其他shell或容器以分离模式运行时,可使用docker stop jenkins(假设容器名为jenkins)停止容器。
Docker Toolbox中的浏览器访问
Docker Toolbox在物理机上的VirtualBox虚拟机中运行。要访问容器,需知道虚拟机的IP地址。启动虚拟机时会显示该地址,也可通过docker-machine env default命令查看(在DOCKER_HOST行中)。通常IP为192.168.99.100。若使用上述启动命令中的***端口,可通过浏览器访问http://192.168.99.100:10080。
Docker Native中的浏览器访问
若使用上述启动命令中的***端口,可直接通过浏览器访问http://localhost:10080。
首次启动
首次启动时会提示输入初始设置密码。该密码位于Jenkins容器的控制台输出中,查找类似以下内容:
************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: 94b0c926a101440388062e30ab3f2626 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* *************************************************************
复制此密码进行后续设置。之后,按需创建管理员用户,最后会提示选择安装默认插件或特定插件。由于镜像已预安装多数插件,此步骤会很快完成。
创建任务
完成设置后,即可根据需要配置Jenkins并创建新任务。
要获取最新镜像,在下次启动容器前运行docker pull rgielen/jenkins-training。
源代码托管在https://github.com/rgielen/jenkins-training-docker%E3%80%82%E9%97%AE%E9%A2%98%E5%8F%8D%E9%A6%88%E4%B9%9F%E8%AF%B7%E6%8F%90%E4%BA%A4%E8%87%B3%E8%AF%A5%E4%BB%93%E5%BA%93%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务