Jenkins 是一个独立的开源自动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。
官方安装文档:Downloading and running Jenkins in Docker
1、查询Jenkins镜像
docker search jenkins
镜像名称 | 描述 |
---|---|
jenkins | DEPRECATION NOTICE(弃用通知) https://hub.docker.com/_/jenkins |
jenkins/jenkins | 推荐使用 https://hub.docker.com/r/jenkins/jenkins |
2、下载Jenkins镜像
#方法1:默认版本
docker pull jenkins/jenkins
#方法2:指定版本
docker pull jenkins/jenkins:2.452.1
指定版本pull最新镜像,获取最新版本号访问地址 jenkins/jenkins Tags | Docker Hub
3、创建容器并启动
docker run \
-d \
--restart=always \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
-v /etc/localtime:/etc/localtime \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/libexec/docker/cli-plugins/docker-compose:/usr/libexec/docker/cli-plugins/docker-compose \
jenkins/jenkins
命令 | 描述 |
---|---|
docker run | 运行 Docker 容器的命令。 |
-d | 在后台运行容器。 |
--restart=always | 设置容器始终自动重启。 |
--name jenkins | 指定容器的名称为 jenkins。 |
-p 8080:8080 | 容器端口 8080 映射到主机端口 8080。第一个数字代表主机上的端口,最后一个数字代表容器的端口。例如,通过端口 49000 访问 Jenkins,请修改为-p 49000:8080 。 |
-p 50000:50000 | 入站 Jenkins 代理通过 TCP 端口 50000 与 Jenkins 控制器进行通信。 |
-v jenkins_home:/var/jenkins_home | 将刚创建的数据卷挂载到容器内的 /var/jenkins_home 目录,以保持 Jenkins 数据的持久化。 |
-v /etc/localtime:/etc/localtime | 容器和主机同样的时间设置。 |
-v /usr/bin/docker:/usr/bin/docker | 将主机的 Docker 二进制文件挂载到容器中。在 Jenkins 中执行 docker 命令。 |
-v /var/run/docker.sock:/var/run/docker.sock | 将宿主机的 Docker 套接字挂载到容器内,从而管理和创建 Docker 容器。 |
-v /usr/libexec/docker/cli-plugins/docker-compose:/usr/libexec/docker/cli-plugins/docker-compose | 将主机的 docker compose二进制文件挂载到容器中。在 Jenkins 中执行 docker compose命令。 |
jenkins/jenkins | 指定要运行的镜像。 |
\ | 换行 |
4、访问 Jenkins
当您首次访问新的 Jenkins 实例时,系统会要求您使用自动生成的密码解锁它。
- 在浏览器中访问 http://localhost:8080
- 自动生成的字母数字密码
#在控制台通过 CONTAINER_ID or CONTAINER_NAME 打印密码
sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword
- 按照提示完成 Jenkins 的初始设置向导。
参考 CentOS7安装Jenkins