修改docker.sock文件权限 {#%E4%BF%AE%E6%94%B9docker.sock%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90}
路径在:/var/run/docker.sock
进入/var/run目录下
修改docker.sock文件权限,且让其他用户也可以读写。
cd /var/run
chown root:root docker.sock
chmod o+rw docker.sock
修改数据卷映射 {#%E4%BF%AE%E6%94%B9%E6%95%B0%E6%8D%AE%E5%8D%B7%E6%98%A0%E5%B0%84}
切换到你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 {#%E9%87%8D%E5%90%AFjenkins}
重新启动容器组
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