一.centos7部署Docker:
1、查看系统版本:需要centos7 以上、64位,内核2.6.32-431以上
uname -r
2、卸载旧版本:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、需要的安装包:
yum install -y yum-utils
4、设置镜像源(我用的是阿里)
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、更新镜像索引
yum makecache fast
6、安装Docker(社区版)
yum install docker-ce docker-ce-cli containerd.io
7、设置开机启动
systemctl enable docker
8、启动Docker
systemctl start docker
ps:设置开启自动启动
systemctl enable docker.service
关闭自动启动:
systemctl disable docker.service
9、检查版本号:(出现类似内容说明成功了)
docker version
10、测试一下(第一次可能比较慢是因为要加载hello-world)
docker run hello-world
二.Docker部署Jenkins
1、使用Docker拉取Jenkins
docker pull jenkins
2、创建挂载时用的文件夹
mkdir /home/jenkins
3、 查看文件权限(cd到home下)
ls -nd jenkins/
4、给uid为1000的权限。执行完可以再次执行 第3步 查看文件权限
chown -R 1000:1000 jenkins/
5、返回到根目录,创建并运行Jenkins
docker run -itd -p 8090:8080 -p 50000:50000 --name myjenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins:latest
解析:-p 8090:8080:端口映射本机端口:容器端口访问本机端口8090,映射到Jenkins的8080端口表面上访问的是8090,实际上是访问的8080
--name xxx定义你的镜像名
-v /home/jenkins:/var/jenkins_home:挂载宿主机的/home/jenkins目录挂载到容器的/var/jenkins_home目录
6、再次启动时,使用以下命令(jenkins为第5步取的名 –name jenkins)
docker start jenkins
ps:设置自动启动镜像:
[root@localhost ~]# docker update jenkins--restart=always
7、局域网内输入 http://centos系统IP地址:8090检查,注意centos系统的防火墙.
8、使用命令 cat /home/jenkins/secrets/initialAdminPassword 查看密码:将密码粘贴到启动页
9、启动后可能要你选择一个选项,选第二个,然后去掉全选下一步就到管理员设置了,设置账号密码,确定到主页
完成!
Docker 容器中jenkins升级:
使用Docker 部署的jenkins 安装不了插件是因为docker已经停止更新jenkins,会造成插件搜索不到等问题,使用如下步骤可进行升级:
docker exec -it -u root jenkins bash
2、进到jenkins文件(具体文件位置参照“二.Docker部署Jenkins”的第5步)
cd /home/jenkins/
下载war包
wget http://mirrors.jenkins.io/war/latest/jenkins.war
3、拷贝war包
cp jenkins.war /usr/share/jenkins/
4、退出容器
exit
5、重启容器
docker restart jenkins
再次登录Jenkins 检查是否变成新版本
6、初始语言为英语,如果可以下载插件可以使用插件:Chinese (Simplified) ps:不要多个语言插件复用,可能会卡死
最后更新的版本的界面: