用Docker安装Jenkins

371 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第1天,点击查看活动详情

通过docker安装

拉取镜像jenkins/jenkins:lts

docker pull jenkins/jenkins:lts

一开始试过直接使用 docker pull jenkins。但是在运行时提示:

An error occurred during installation: No such plugin: cloudbees-folder

在docker中搜索jenkins后发现可以使用jenkins/jenkins:lts,于是使用这个镜像才没有出现这个问题。

运行jenkins

docker run \
    -d \
    --name jenkins \
    -u root \
    -p 9090:8080 \
    -p 50000:50000 \
    -v /home/workspace/jenkins:/var/jenkins_home \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /usr/bin/docker:/usr/bin/docker \
    -v /usr/local/bin/docker-compose: /usr/local/bin/docker-compose \
    jenkins/jenkins:lts

管理用户设置

-u root

是指定容器内部使用的用户身份,这里是将容器内的用户指定为root,这样才能在容器内部使用docker命令

docker命令映射

-v /var/run/docker.sock:/var/run/docker.sock \

-v /usr/bin/docker:/usr/bin/docker \

是将宿主机的docker命令映射到容器内,方便使用docker进行部署和镜像打包等。

存储目录映射

创建目录并设置权限

mkdir /home/workspace/jenkins
chown -R 1000:1000 /home/workspace/jenkins

-v /home/workspace/jenkins:/var/jenkins_home \

使用到的插件和拉取的代码等信息会存放在该目录,因此映射到宿主机,防止丢失。

清理存储目录

如果在安装过程中出现问题,比如像上面的No such plugin: cloudbees-folder,更换镜像后重新运行容器时,记得清理该目录下的文件。

rm -rf /home/workspace/jenkins/*

docker-compose映射

如果需要使用到docker-compose可以将宿主机的文件映射到容器。

-v /usr/local/bin/docker-compose: /usr/local/bin/docker-compose \

也可以进入容器后重新下载

curl -L https://get.daocloud.io/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod a+x /usr/local/bin/docker-compose

docker-compose --version

初始密码登录

进入网站,会提示密码存放地址,复制密码到网页。

http://127.0.0.1:9090/

  • 在容器里可以通过:
cat /var/jenkins_home/secrets/initialAdminPassword

9544577c36514d75bdb4d7fd002375b1

获取密码

  • 在宿主机中
cat /home/workspace/jenkins/secrets/initialAdminPassword

修改下载源

jenkins自带下载速度较慢,可以选择修改国内源

进入挂载目录下的updates,修改替换default.json中的

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

安装插件

选择推荐的,或者选择插件

创建账号

安装完成