正文
测试环境:centos 7(64位)、docker-ce、jenkins 2.93
docker-ce安装文档
、
jenkins
、
官方react和node集成文档
docker离线安装
在centos上安装docker,除了docker的rpm外还需要有以下的依赖包:
安装依赖:
sudo yum install libtool-ltdl-2.4.2-22.el73.x8664.rpm
sudo yum install container-selinux-2.33-1.git86f33cd.el7.noarch.rpm
sudo yum install docker-ce.rpm
如果之前安装过docker而遇到问题,请参考
docker-ce安装文档
开启docker服务
sudo systemctl start docker
下载jenkins镜像并导出
我这里选择的是这个
jenkins镜像
,之前在win10 pro上有用过
jenkinsci/blueocean:latest
,在执行node命令是会出现找不到node命令,即使我已经设置了PATH
docker pull jenkins/jenkins
输入
docker images
查看当前的镜像列表
输入
sudo docker save -o myjenkins.tar jenkins/jenkins:latest
以.tar的格式导出jenkins/jenkins:latest镜像到当前文件夹,并将它拷贝到离线环境
在离线环境下导入
离线环境下,输入
sudo docker load --input myjenkins.tar
导入镜像。
这时输入
docker images
查看镜像,即可看见导入的镜像
运行导出的jenkins镜像
docker run
// 当此容器stop时,删除此容器
--rm
// 设置调用docker中命令终端时,使用的角色
-u root
// 映射主机的物理端口8080到docker的8080虚拟端口
-p 8080:8080
//如果jenkins-data(文件夹名字,可以取其他的)在/var/lib/docker/volumes下不存在,docker会创建此文件夹,并将此文件夹下的_data文件夹映射到docker中的/var/jenkins_home,此文件夹下存储的是jenkins的数据(包含插件、用户信息、构建记录等)
-v jenkins-data:/var/jenkins_home
// docker的守护进程(没深入研究过)
-v /var/run/docker.sock:/var/run/docker.sock
// 映射主机的/home/hanqing/source到docker容器中的/home
-v /home/hanqing/source:/home
// 要运行的镜像
myjenkins
打命令的时候是一行写完的,不换行
执行后下图的红框中的字符串要拷贝下来,之后jenkins激活需要用到
配置jenkins
打开浏览器访问localhost:8080,看到jenkins服务已经开启了
administrator的password就是之前红框中的那一串
因为是离线(可以先跳过这个步骤,等配置完jenkins的时候再添加),我知道的插件安装方式有两种
-
插件可以通过
jenkins-plugins
下载后,从系统设置->管理插件->高级->上传插件
-
从已经下载好插件的jenkins插件目录下拷贝出来,复制到离线jenkins的插件目录(此例子的插件目录是/var/lib/docker/volumes/jenkins-data/_data/plugins)
设置用户(电子邮件一栏一定要有@)