docker 安装 jenkins

服务器:阿里云CentOS Linux 7.6.1810
文章编写时间:2020-03-12linux

1.什么是Jenkins

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工做,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能docker

2.使用前提

安装dockerjson

3.在docker中安装jenkins

首先docker search jenkins查找jenkins镜像安全

NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
jenkins                                Official Jenkins Docker image                   4688                [OK]
jenkins/jenkins                        The leading open source automation server       1944
jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           500
jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   378
jenkinsci/jnlp-slave                   A Jenkins slave using JNLP to establish conn…   121                                     [OK]
jenkins/jnlp-slave                     a Jenkins agent (FKA "slave") using JNLP to …   119                                     [OK]
jenkinsci/slave                        Base Jenkins slave docker image                 63                                      [OK]
jenkinsci/ssh-slave                    A Jenkins SSH Slave docker image                40                                      [OK]

第一次安装的时候我选择了jenkins,可是在安装插件的时候jenkins镜像的一直不成功,删除重装仍是不行,后来选择下载jenkins/jenkins服务器

docker pull jenkins/jenkins

查看镜像ssh

$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jenkins/jenkins     latest              cf9ba86fd2ce        44 hours ago        619MB

接着工具

$ mkdir -p /var/jenkins_home
$ chown -R 1000 /var/jenkins_home

这里咱们使用如下命令启动Jenkins镜像google

docker run -d --name myjenkins -p 8081:8080 -p 50000:50000 --privileged=true -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins

-p 8081:8080 将镜像的8080端口映射到服务器的8081端口,这里前一个端口是8081,咱们在访问Jenkins的时候的端口号也是8081,此处可自行修改
执行命令后,密码能够在打印的日志中看到
--privileged=true在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权。
-d在后台运行容器(即“分离”模式)并输出容器ID。若是您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志
因为咱们将容器的目录/var/jenkins_home映射到服务器的/var/jenkins_home上了
因此能够直接在服务器上输入查看密码
cat /var/jenkins_home/secrets/initialAdminPassword阿里云

安装镜像速度慢插件

$ cd /var/jenkins_home/updates #进入更新配置位置

$ sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

$ docker restart {CONTAINER ID}

经常使用命令

docker ps -aq

删除镜像
docker rmi IMAGE ID
IMAGE IDdocker images中的IMAGE ID

查看正在运行的容器
docker ps

中止容器,f86906b1bc42为docker ps显示的CONTAINER ID
docker stop f86906b1bc42
docker stop myjenkins

启动容器,f86906b1bc42为docker ps显示的CONTAINER ID
docker stop f86906b1bc42

删除容器
docker container rm f86906b1bc42

删除无效的none镜像
docker rmi $(docker images -f "dangling=true" -q)