Docker安装Jenkins

  1. 打开终端
  2. 在docker中创建一个名为jenkins的桥接网络
docker network create jenkins
  1. 创建以下volume以共享需要连接到docker守护进程并保存Jenkins数据的docker客户端TLS证书。
docker volume create jenkins-docker-certs
docker volume create jenkins-data
  1. 为了在Jenkins节点里执行docker命令,下载并运行镜像docker:dind。
docker container run 
  --name jenkins-docker
  --rm 
  --detach 
  --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 

方便执行的命令:
docker container run --name jenkins-docker --rm --detach --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

命令说明
--name jenkins-docker: (可选) 指定用于运行镜像的docker容器名。不指定默认会生成一个唯一的容器名。
--rm: (可选) 当容器停止时会被自动删除,也包括下面提到的jenkinsci/blueocean这个容器调用时所使用的缓存。
--detach: (可选) 容器在后台运行。此实例可以通过运行docker container stop jenkins-docker停止,并通过docker container start jenkins-docker再次启动。
--privileged: 在当前docker中运行其他docker需要特权访问才能正常运行。使用较新的linux内核版本可放宽此要求。
--network jenkins: 让容器使用先前步骤2创建的网络。
--network-alias docker: 使docker作为容器的网络别名,在上边声明的jenkins网络中可作为主机名使用。
--env DOCKER_TLS_CERTDIR=/certs: 允许在docker服务器中使用TLS。尽管它需要使用下面提到的volume, 但由于使用了特权容器,因此建议这样做。此环境变量指定的是Docker TLS证书的根目录。
--volume jenkins-docker-certs:/certs/client: 将容器中的/certs/client目录映射到之前创建的名为jenkins-docker-certs的volume上。
--volume jenkins-data:/var/jenkins_home: 将容器中的/var/jenkins_home目录映射到之前创建的名为jenkins-data的volume上。这将允许由docker容器守护进程控制的其他docker容器从Jenkins装载数据。
--publish 2376:2376: (可选) 公开主机上的docker守护进程端口。这对在主机上执行docker命令去控制其内部的docker守护进程很有用。
docker:dind: 要运行的docker:dind镜像(没有会自动下载)。也可在之前通过命令 docker image pull docker:dind 下载该镜像。

  1. 下载并运行镜像jenkins/blueocean。
docker container run 
  --name jenkins-blueocean 
  --rm 
  --detach 
  --network jenkins 
  --env DOCKER_HOST=tcp://docker:2376 
  --env DOCKER_CERT_PATH=/certs/client 
  --env DOCKER_TLS_VERIFY=1 
  --publish 8080:8080 
  --publish 50000:50000 
  --volume jenkins-data:/var/jenkins_home 
  --volume jenkins-docker-certs:/certs/client:ro 
  jenkinsci/blueocean 

方便执行的命令:
docker container run --name jenkins-blueocean --rm --detach --network jenkins --env DOCKER_HOST=tcp://docker:2376 --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 --publish 8080:8080 --publish 50000:50000 --volume jenkins-data:/var/jenkins_home --volume jenkins-docker-certs:/certs/client:ro jenkinsci/blueocean

命令说明
--name jenkins-blueocean: (可选) 给docker镜像jenkinsci/blueocean的实例指定容器名,该名字可用于在docker命名中指代该容器。
--rm: (可选) 当容器jenkins-blueocean停止时会被自动删除。
--detach: (可选) 在后台运行jenkinsci/blueocean容器并显示容器ID。不指定会直接在控制台打印日志信息。
--network jenkins: 让容器使用先前步骤2创建的网络。能够让此容器通过docker主机名去访问第3步创建的docker守护程序。
--env DOCKER_HOST=tcp://docker:2376: 指定 docker,docker-compose,以及其他docker工具连接先前步骤创建的docker守护程序 要用的环境变量。
--publish 8080:8080: 映射容器jenkinsci/blueocean的8080端口到主机的8080端口。前面的数字代表主机的端口,后面的数字代表容器的端口。因此如果我们指定参数 -p 49000:8080 , 就能在主机上使用端口49000去访问Jenkins。
--publish 50000:50000: (可选)映射jenkinsci/blueocean的50000端口到主机的50000端口。仅当你在其他机器上设置了一个或多个基于JNLP的Jenkins代理时才需要这样做,这些代理又与jenkinsci/blueocean容器(充当"主" Jenkins服务器,或仅充当"Jenkins主服务器")有交互。默认情况下,基于JNLP的Jenkins代理通过TCP端口50000与Jenkins主服务器通信,你可以通过页面"Configure Global Security"改变在Jenkins主服务器上的这个端口。如果你要改变Jenkins主服务器用于JNLP代理的TCP端口为 51000 ,那么你就要重启Jenkins容器,并且在启动命令上加发布选项 --publish 52000:51000,后面的数字51000代表Jenkins主服务器上你要改变的值,前面的数字52000代表Jenkins主服务器所在的主机端口(端口用于基于JNLP的Jenkins代理与Jenkins主服务器的通信)。
--volume jenkins-data:/var/jenkins_home: 映射容器里的路径/var/jenkins_home到名为jenkins-data的docker volume中。也可以将容器里的路径/var/jenkins_home映射到本地计算机的路径上来代替映射到docker volume上,如指定选项--volume $HOME/jenkins:/var/jenkins_home,对应的本机路径一般为 /Users//jenkins 或 /home//jenkins。注意如果你为此更改了源volume或路径,上面创建的docker:dind容器的volume也需要相应更新。
--volume jenkins-docker-certs:/certs/client:ro: 映射路径/certs/client到先前创建的名为jenkins-docker-certs的volume上。这会使连接docker守护程序所需的客户端TLS证书在环境变量DOCKER_CERT_PATH指定的路径中可用。
jenkinsci/blueocean: 要启动的镜像jenkinsci/blueocean。如果该镜像还未下载,会自动下载该镜像。如果该镜像有更新,也会自动下载镜像更新文件。

  1. 以上为安装步骤,下面开始使用jenkins。

1)浏览器访问localhost:8080(8080是你上面步骤配置的端口),会看到以下Unlock页面
在这里插入图片描述

进入jenkins容器:docker exec -it jenkins-blueocean /bin/bash,接着查看密码文件:cat /var/jenkins_home/secrets/initialAdminPassword

$ docker exec -it jenkins-blueocean /bin/bash

bash-4.4$ cat /var/jenkins_home/secrets/initialAdminPassword
8ae785c439aa4146abdc40567bdac2f2

拷贝密码贴入Administrator password,继续。

2)进入插件安装环节,按照实际情况选择你想要的插件安装。
后续还可以通过Jenkins页面中的 Manage Jenkins -> Manage Plugins 来添加插件。在这里插入图片描述
后续还可以通过Jenkins页面中的 Manage Jenkins -> Manage Plugins 来添加插件。
在这里插入图片描述

3)创建第一个用户
可以选择使用admin账户,也可创建新的管理员账户。
在这里插入图片描述
后面如果忘记密码,可以进入容器docker exec -it jenkins-blueocean /bin/bash,通过/var/jenkins_home/users/users.xml 文件查看

4)实例配置
配置jenkins的地址,本地环境可以默认localhost,要给其他人用的话还是配一下jenkins在网络中的地址。
在这里插入图片描述
至此安装结束,欢迎来到Jenkins!
在这里插入图片描述

参考:https://jenkins.io/doc/book/installing/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
要在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、付费专栏及课程。

余额充值