关于docker启动jenkins容器遇到的问题不得不转载直接安装jenkins

在安装linux系统后,首先要安装jdk和maven并且安装环境变量

附上jdk和maven环境变量的配置,安装包均可在官网进行下载,下载的版本自行而定

jdk环境变量
vim /etc/profile
export JAVA_HOME=/home/wanmeng/jdk/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH.PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

maven环境变量
export PATH=/usr/local/apache-maven-3.6.1/bin:$PATH

linux下安装docker,通yum进行启动,前提是linux是64位系统

1、通过yum命令直接安装,yum install docker

2、启动Docker,并将其设置为开机启动
(1)启动,systemctl start docker.service
(2)开机启动,systemctl enable docker.service
(3)帮助,docker --help
(4)概要信息,docker info
(5)镜像查看,docker images
(6)容器查看,即进程查看,docker ps -a

jenkins安装有两种方式,第一种是docker安装jenkins容器

通过命令docker pull jenkins/jenkins 下载最新的jenkins镜像文件

给home创建jenkis文件夹 mkdir /home/jenkins

给uid为1000的权限 chown -R 1000:1000 jenkins/  

创建jenkins容器:docker run -itd -p 9080:8080 -p 50000:50000 --name jenkins --privileged=true  -v /usr/local/jdk1.8.0_211/bin/java:/usr/local/jdk1.8.0_211/bin/java -v /usr/local/jdk1.8.0_211:/usr/local/jdk1.8.0_211 -v /usr/local/apache-maven-3.6.1:/usr/local/apache-maven-3.6.1 -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v /home/jenkins:/var/jenkins_home jenkins/jenkins:latest

-itd -i:以交互模式运行容器,通常与 -t 同时使用;-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;-d:后台运行容器,并返回容器ID;具体可参考https://www.runoob.com/docker/docker-run-command.html

-p 9080:8080 -p 50000:50000 主要是以端口9080启动,默认jenkins端口为8080

--name jenkins 容器名称

--privileged=true 完全开放并具有root权限

-v /usr/local/jdk1.8.0_211/bin/java:/usr/local/jdk1.8.0_211/bin/java 挂在jdk到jenkins

-v /usr/local/apache-maven-3.6.1:/usr/local/apache-maven-3.6.1 挂在maven到jenkins

-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker  挂在docker命令到jenkins

-v /home/jenkins:/var/jenkins_home jenkins/jenkins:latest 挂在docker文件目录

由于配置不同的东西还需要挂在不同的东西,可能会遇到很多坑,故而使用了第二种jenkins的方式

直接在linux安装jenkins,并且安装最新的jenkins

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins

修改jenkins端口

vi /etc/sysconfig/jenkins

使文件修改进行生效

source /etc/sysconfig/jenkins

给工作空间赋值jenkins权限

chown jenkins:jenkins /var/lib/jenkins/workspace/

为jenkins创建一个Maven project

Goals and options设置为
 

Goals and options clean install  package -D maven.test.skip=true

设置post steps,选择Run only if build succeeds  其中xxx为项目名和mavenproject的名称 建议两者名称保持一致

#!/bin/bash
cd /var/lib/jenkins/workspace/xxx/xxx
docker build -f /var/lib/jenkins/workspace/xxx/xxx/Dockerfile -t xxx:1.0 --rm .
docker stop xxx | exit 0
docker rm xxx | exit 0
docker run  -d -p 18201:18201  -e spring.profiles.active=test -i -t --name xxx xxx:1.0

此时如果出现启动异常:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied

创建docker用户

sudo groupadd docker

则需要把将当前用户加入docker组

sudo gpasswd -a jenkins docker

重新启动docker服务
 

sudo systemctl restart docker

赋予docker权限可读写

sudo chmod a+rw /var/run/docker.sock

再次重新构建项目,完毕

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值