docker-compose部署Jenkins
使用docker-compose部署Jenkins或多或少都会遇到这些问题,以下是使用docker-compose部署jenkins的过程中遇到的一些问题;
使用docker-compose部署Jenkins或多或少都会遇到这些问题,以下是使用docker-compose部署jenkins的过程中遇到的一些问题;
一、编写docker-compose.yml
version: '3'
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins
restart: always
ports: # 绑定端口
- "10006:8080"
volumes: # 挂载目录 本地文件夹目录:容器文件夹目录
- ./data/:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
这里着重说明两个地方,一个是
volumes和environment,一个是本地映射到容器的配置项,一个是对容器的环境设置;
创建data文件夹sudo mkdir data, 同级目录;
修改文件夹权限sudo chmod 765 data
然后sudo docker-compose up -d, 一般情况直接就运行成功了,完结!撒花,在浏览器中打开一路点点点就好了,然后咱们继续往下看;
二、使用宿主机的docker环境
笔者这里的环境是
ubuntu 22.04 server, 理论上linux都可以这样子操作,但或许有差异,请注意!
ls /usr/bin -l | grep docker

这里是已经调整好的,正常安装的话应该是
root:docker, 我的系统用户名是lhdht, 所以我调整成lhdht, 下面是修改用户的命令,注意修改成自己的用户名,执行完成之后再次使用ls /usr/bin -l | grep docker就是如上图一样docker, 被修改成<用户名>:docker
sudo chown lhdht:docker /usr/bin/docker
进入容器内的Jenkins
docker exec -it jenkins /bin/bash

这样就进入到容器内的
jenkins了,此时docker version会输出完整的版本信息,如果是没有修改用户的话则会出现权限不足的问题!如下是正常的

三、修改jenkins的环境
这里着重说一下,修改环境变脸的方式有两种(ps:作者知道的就两种,如果有其他的,请评论补充);
在docker-compose.yml的environment下直接新增既可,PATH=xxxxx
举个栗子:容器内的jenkins使用宿主机的go环境
- 修改
docker-compose.yml, 将宿主机的go sdk目录映射到容器内/usr/local/bin/go:/usr/local/bin/go sudo docker-compose up -d- 然后在
jenkins控制面板中添加环境变量
/opt/java/openjdk/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/env/go/bin

为什么要这样子添加环境变量,因为jenkins容器内本身就有
PATH, 所以之所以这样是要继承jenkins的环境,理论上所有的环境都可以这样子设置
然后,咱们尝试一下,jenkins是否能获取到宿主机的go环境;
- 新建一个自由风格的项目
- 编写shell
- 构建项目

构建结果:
到这里就算简单的完结了,如果遇到什么问题,可以在底下评论,有时间会进行解答的!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)