docker安装jenkins

①:拉取最新镜像

 

docker pull jenkins/jenkins

在这里插入图片描述
 

②:创建挂载目录

 

# 创建宿主机的挂载目录
mkdir /data/jenkins/jenkins_data:

 

③:运行容器

 

docker run -d -p 18080:8080 -p 50000:50000 \
  -v /data/jenkins/jenkins_data:/var/jenkins_home \
  -v /etc/localtime:/etc/localtime \
  -v /usr/bin/docker:/usr/bin/docker \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --restart=on-failure \
  -u 0 \
  --name jenkins \
  jenkins/jenkins

命令解释

  • docker run: 运行一个新的容器。
  • -d: 后台运行容器 (detached mode)。
  • -p 18080:8080: 将宿主机的 18080 端口映射到容器的 8080 端口,这是 Jenkins 的 Web 界面默认端口。
  • -p 50000:50000: 将宿主机的 50000 端口映射到容器的 50000 端口,这是 Jenkins 用于与代理通信的端口。
  • -v /data/jenkins/jenkins_data:/var/jenkins_home: 将宿主机的 /data/jenkins/jenkins_data 目录挂载到容器的 /var/jenkins_home 目录,这是 Jenkins 的主目录,用于存储 Jenkins 配置、构建作业和插件等数据。
  • -v /etc/localtime:/etc/localtime: 将宿主机的 /etc/localtime 文件挂载到容器的 /etc/localtime,确保容器内的时间与宿主机同步。
  • -v /usr/bin/docker:/usr/bin/docker: 将宿主机的 Docker 二进制文件挂载到容器的 /usr/bin/docker,使容器内能够使用 Docker 命令。
  • -v /var/run/docker.sock:/var/run/docker.sock: 将宿主机的 Docker 进程套接字挂载到容器的 /var/run/docker.sock,使容器内的 Docker 客户端能够与宿主机的 Docker 守护进程通信。这对于 Jenkins 在容器内执行 Docker 命令是必要的。
  • --restart=on-failure: 配置容器在出现错误退出时自动重启。仅在容器以非零退出状态终止时才重启。
  • -u 0: 以 root 用户(UID 0)身份运行容器。这通常是为了确保容器内的 Jenkins 有足够的权限执行需要的操作。
  • --name jenkins: 为容器指定一个名称 jenkins,方便管理和引用该容器。
  • jenkins/jenkins: 使用 Jenkins 官方的 Docker 镜像。这是从 Docker Hub 拉取的 jenkins/jenkins 镜像的默认最新版本。

启动成功如下
在这里插入图片描述
 

④:登录jenkins客户端

 

启动容器命令中,-p 18080:8080: 将宿主机的 18080 端口映射到容器的 8080 端口,所以 Jenkins 的 Web 界面端口映射结果为18080

访问http://ip:18080 进入登陆页面
在这里插入图片描述

用户名为admin
密码为:

# 进入宿主机保存密码的文件
ca /data/jenkins/jenkins_data/secrets

# 查看密码
cat ./initialAdminPassword 

在这里插入图片描述
密码为 0b9fda396c1c49a2b5070e25071ac863

登陆即可
在这里插入图片描述

 

④:常见问题(证书问题)

如果想要装插件时,点击Manager Plugins 打开有很多红色报错 ,那就可能是证书问题

在这里插入图片描述
解决方案:更新证书

# 1.进入jenkins容器中
docker exec -it jenkin ./bin/bash

# 2. 更新jenkins证书
apt-get update
apt-get install --reinstall ca-certificates

# 3. 重启jenkins
docker restart jenkins 
  • apt-get update

    • 这个命令用于更新包管理器的包索引。它会从配置的源(通常是在 /etc/apt/sources.list 文件中定义的)下载最新的包列表和版本信息。这样,包管理器就能知道可以安装的最新包和更新。
    • 此命令不会实际安装或更新任何包,只是更新包列表,以便接下来的安装或升级操作能获取到最新的包信息。
  • apt-get install --reinstall ca-certificates

    • 这个命令用于重新安装 ca-certificates 包。ca-certificates 包包含系统信任的根证书,用于验证 SSL/TLS 连接中的服务器证书。重新安装这个包可以确保系统上的 CA 证书是最新的,避免由于过期或丢失的证书引起的 SSL/TLS 验证问题。

为什么要执行这两个命令?

  • 在你遇到 Jenkins 证书验证问题的情况下,重新安装 CA 证书包可以确保系统上的 CA 证书是最新的,从而解决可能因过期或不正确的证书引起的问题。更新包索引则确保你能够安装或更新到最新版本的包,包括 CA 证书包。
要在Docker安装Jenkins,可以按照以下步骤进行操作: 1. 首先,创建一个自定义的网络,可以使用以下命令创建一个名为woniu_network的网络,并指定IP区间为172.0.0.0/16: ``` docker network create --driver bridge --subnet 172.0.0.0/16 woniu_network ``` 2. 接下来,创建一个用于存放Jenkins数据和配置的目录。可以使用以下命令创建一个名为jenkins的目录,并设置权限: ``` mkdir -p /home/docker/jenkins && chown -R 1000 /home/docker/jenkins ``` 3. 然后,安装Jenkins。可以使用以下命令运行Jenkins容器: ``` docker run -d -p 8080:8080 -p 50000:50000 \ --name jenkins \ --network woniu_network \ --ip 172.0.0.20 \ --restart always \ --privileged=true \ -v /home/docker/jenkins:/var/jenkins_home \ jenkins ``` 4. 如果需要运行中文版的Jenkins,可以使用以下命令运行Jenkins容器: ``` docker run -d -p 8080:8080 -p 50000:50000 \ --name jenkins \ --network woniu_network \ --ip 172.0.0.20 \ --restart always \ --privileged=true \ -v /home/docker/jenkins:/var/jenkins_home \ jenkinsci/blueocean ``` 5. 现在,可以通过访问http://localhost:8080来访问Jenkins。 如果需要在Jenkins节点内执行Docker命令,可以使用以下命令下载并运行Docker映像docker:dind: ``` docker run -d --restart always \ --name jenkins-docker \ --privileged \ --network jenkins \ --network-alias docker \ --env DOCKER_TLS_CERTDIR=/certs \ --volume jenkins-docker-certs:/certs/client \ --volume jenkins-data:/var/jenkins_home \ --publish 2376:2376 \ docker:dind ``` 如果需要清理Jenkins容器,可以使用以下命令: ``` docker rm -f jenkins-blueocean jenkins-docker docker volume rm jenkins-data jenkins-docker-certs ``` 希望以上信息对您有所帮助。 #### 引用[.reference_title] - *1* [Docker 安装 Jenkins](https://blog.csdn.net/u011374856/article/details/109022921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* *3* [docker安装jenkins](https://blog.csdn.net/networken/article/details/98112690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值