Jenkins内部使用Docker

修改docker.sock文件权限

路径在:/var/run/docker.sock

进入/var/run目录下

修改docker.sock文件权限,且让其他用户也可以读写。

复制代码
cd /var/run
chown root:root docker.sock 
chmod o+rw docker.sock 

修改数据卷映射

切换到你Jenkins的docker-compose.yml文件所在位置,直接通过修改命令修改也行。

复制代码
cd /usr/local/docker/jenkins_docker/

编辑docker-compose.yml

复制代码
vim docker-compose.yml

追加volumes配置,之前只映射了个data数据目录

现在追加3条映射,把宿主机的docker.sock、docker命令执行文件、daemon.json挂载。

复制代码
version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins:2.401.3-lts
    restart: always
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./data/:/var/jenkins_home/
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /etc/docker/daemon.json:/etc/docker/daemon.json

重启Jenkins

重新启动容器组

复制代码
docker compose up -d

进入Jenkins容器,验证Docker是否可以使用

查看docker版本没问题,拉取和推送镜像也没问题(Jenkins容器里面的镜像其实是在宿主机上的)

复制代码
docker exec -it jenkins bash
docker version
docker pull 192.168.170.111:80/monster/chatgpt:0.1
docker push 192.168.170.111:80/monster/chatgpt:0.2
相关推荐
matrixlzp15 分钟前
Jenkins 实战3:Jenkins + habor + docker 自动化部署
运维·jenkins
vortex517 分钟前
Linux 用户管理详解:从古老Unix到现代集成
linux·运维·unix
玩转测试开发2 小时前
xshell设置跳板机登录内网服务器
运维·服务器·数据库
Java 码农2 小时前
linux shell 数组
linux·运维·服务器
大梦谁先觉i2 小时前
Linux 磁盘空间“消失”之谜:文件已删,空间却不释放?
linux·运维·服务器
序属秋秋秋2 小时前
《Linux系统编程之开发工具》【编译器 + 自动化构建器】
linux·运维·服务器·c语言·c++·自动化·编译器
塔能物联运维2 小时前
物联网运维中基于自适应射频环境监测的动态频谱优化技术
运维·物联网
小涂3 小时前
在Linux(deepin-community-25)下安装MongoDB
linux·运维·mongodb
艾莉丝努力练剑3 小时前
【Linux基础开发工具 (一)】详解Linux软件生态与包管理器:从yum / apt原理到镜像源实战
linux·运维·服务器·ubuntu·centos·1024程序员节
月巴月巴白勺合鸟月半3 小时前
生成私钥公钥
运维·服务器