跳至主要內容

docker安装jenkins

tanmantang原创大约 2 分钟dockerjenkins

准备工作

搜索镜像

docker search jenkins

拉取镜像

docker pull jenkins/jenkins

查看拉取的镜像

docker images

创建本地挂载目录

为了方便存储nexus数据,防止数据丢失

mkdir -p /data/docker/jenkins/jenkins_home

构建容器

创建启动脚本

cd /data/docker/jenkins/
vim create_jenkins.sh

保存以下内容

#!/bin/bash

name="jenkins"
docker rm -f ${name}

docker run -d  --name ${name} \
 -u root -p 8081:8080 -p 50000:50000 \
 -v /data/docker/jenkins/jenkins_home:/var/jenkins_home \
 -v /etc/localtime:/etc/localtime \
 jenkins/jenkins 

提示

以上端口,请选择一个未被其他应用使用的,使用以下命令查看是否被占用 这里我以8081为例

netstat -tunlp|grep 8081

添加可执行权限

chmod +x create_jenkins.sh

执行脚本

./create_jenkins.sh

检查端口

执行完成后,检查容器状态是否启动

docker ps 

查看日志{#showpasswd}

docker logs -f jenkins

第一次启动的时候,日志末尾后会输出默认密码

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

d2637a9ff8664918aea59c4adf957dbb

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

你也可以通过查看文件来获取密码

cat jenkins_home/secrets/initialAdminPassword

配置jenkins

访问jenkins

访问页面 https://你的IP地址+端口/login ,端口取决于你上面的设置

例:http://192.168.0.112:8081/login

成功访问后,输入密码

成功访问截图

提示

上面提示的文件地址是指容器里面的地址,你可以使用命令进入容器

docekr exec -it jenkins bash

查看密码

请回看 查看日志 章节的内容

安装插件

输入密码后便出现安装插件页面,这里我选择推荐插件,等待安装完成

创建管理员

页面提示 创建第一个管理员用户

这里你依旧可以跳过,使用默认账号 admin

但是建议自己创建一个

实例配置

使用默认即可,最后点击 保存 按钮

完成配置

Jenkins已就绪!

你已跳过创建admin用户的步骤。要登录请使用用户名:'admin' 及用于访问安装向导的管理员密码。

Jenkins安装已完成。 点击 开始使用Jenkins 按钮

问题排查

若你不能正常访问,请检查你的防火墙,若是开启的状态,请开放防火墙端口,你也可以关闭防火墙

开放端口

firewall-cmd --zone=public --permanent --add-port=8081/tcp
firewall-cmd --reloa

关闭防火墙

# 查看防火墙状态
firewall-cmd --state
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service