docker 运行jenkins及vue项目与springboot项目(二.docker运行jenkins为自动打包运行做准备)

时间:2024-11-24 13:35:13
docker 运行jenkins及vue项目与springboot项目:

1.已经安装docker
2.更改docker镜像源,并重启docker
`vi /etc/docker/daemon.json`

添加

{"registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn"]}

然后重启

systemctl restart docker

3.制作jenkins镜像 且创建容器

ps:因为要用jenkins部署springboot项目,且使用docker运行,故jenkins要能使用宿主的docker,故需要自定义jenkins的镜像,若不需要使用宿主机的docker,则可以直接拉取docker库里的镜像运行

定义制作jenkins镜像的Dockerfile

#从docker镜像源中拉取jenkins/jenkins镜像,在该基础上制作自己的镜像
FROM jenkins/jenkins
USER root
ARG dockerGid=999
RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group
USER jenkins

在Dockerfile文件夹处 创建镜像

docker build -t my-jenkins .

创建成功后运行

docker run --name jenkins -p 9090:8080 -p 50000:50000 -v /etc/localtime:/etc/localtime -v /home/docker/jenkins/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 -d my-jenkins

--name jenkins 指定容器名称

-d 后台运行

-p 端口映射 将宿主 9090映射为docker 8080

-v /home/docker/jenkins/jenkins_home:/var/jenkins_home 将本机/home/docker/jenkins/jienkins_home映射为docker /var/jenkins_home

-v /etc/localtime:/etc/localtime 时区同步

-v /var/run/docker.sock:/var/run/docker.sock 映射 为了让jenkins能够使用宿主的docker命令

-v $(which docker):/usr/bin/docker 映射 为了让jenkins能够使用宿主的docker命令

-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 映射 为了让jenkins能够使用宿主的docker命令

4.docker ps -a

若未运行,则查看日志

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_home文件夹所有者及所属组为1000(docker的用户及组)

chown -R 1000:1000 /home/docker/jenkins/jenkins_home