Jenkins基于Docker-Compose安装

1.编写docker-compose.yml文件

version: '3'
services:
  docker_jenkins:
    restart: always
    image: jenkins/jenkins:lts
    container_name: jenkins
    environment:
      - TZ=Asia/Shanghai
    ports:
      - '8080:8080'
      - '50000:50000'
    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

2.到docker-compose.yml所在的目录执行以下命令

docker-compose up -d

jenkins容器启动异常

在执行完docker-compose up -d,后使用docker ps查看容器的运行情况,发现jenkins启动异常。

经过docker logs 容器ID 发现

touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

这个为的出现是因为jenkins容器的当前用户:是jenkins而且/var/jenkins_home目录是属于jenkins用户拥有的而当映射本地数据卷时,/var/jenkins_home目录的拥有者变成了root用户,所以当jenkins用户的进程访问/var/jenkins_home目录时,会出现 Permission denied。发现问题之后,相应的解决方法也很简单:把当前目录的拥有者赋值给uid 1000,再启动jenkins容器就一切正常了。

sudo chown -R 1000 data

效果图

在这里插入图片描述

原创文章 35 获赞 14 访问量 4774

猜你喜欢

转载自blog.csdn.net/weixin_39128265/article/details/105582697