通过Docker安装Jenkins
#一. 安装Docker CE
参考官方网站:https://docs.docker.com/install/linux/docker-ce/centos/
#配置源
yum install -y epel-release
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
##1.1 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
##1.2 使用存储库安装
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
##1.3 设置稳定存储库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
##1.4 安装DOCKER CE
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo yum install -y docker-compose
启动服务
[root@www yum.repos.d]# systemctl start docker
服务运行状态
[root@www yum.repos.d]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2019-04-30 14:11:33 CST; 5s ago
Docs: https://docs.docker.com
Main PID: 21656 (dockerd)
Tasks: 10
Memory: 28.5M
CGroup: /system.slice/docker.service
└─21656 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Apr 30 14:11:31 www dockerd[21656]: time="2019-04-30T14:11:31.076245500+08:00" level=info msg="pi...grpc
Apr 30 14:11:31 www dockerd[21656]: time="2019-04-30T14:11:31.076793100+08:00" level=info msg="pi...grpc
Apr 30 14:11:31 www dockerd[21656]: time="2019-04-30T14:11:31.198376400+08:00" level=info msg="Gr...nds"
Apr 30 14:11:31 www dockerd[21656]: time="2019-04-30T14:11:31.201450800+08:00" level=info msg="Lo...rt."
Apr 30 14:11:32 www dockerd[21656]: time="2019-04-30T14:11:32.416091500+08:00" level=info msg="De...ess"
Apr 30 14:11:33 www dockerd[21656]: time="2019-04-30T14:11:33.249492000+08:00" level=info msg="Lo...ne."
Apr 30 14:11:33 www dockerd[21656]: time="2019-04-30T14:11:33.344587700+08:00" level=info msg="Do...09.5
Apr 30 14:11:33 www dockerd[21656]: time="2019-04-30T14:11:33.345639200+08:00" level=info msg="Da...ion"
Apr 30 14:11:33 www dockerd[21656]: time="2019-04-30T14:11:33.403142400+08:00" level=info msg="AP...ock"
Apr 30 14:11:33 www systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
查看版本
[root@www yum.repos.d]# docker -v
Docker version 18.09.5, build e8ff056
##1.5 配置镜像加速
1.5.1 登录阿里云网站
https://www.aliyun.com/
产品---开发与运维---容器镜像服务---管理控制台---镜像加速器---Cento
1.5.2 配置镜像加速器
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
##docker用法
#二. 安装Jenkins
##2.1 安装jenkins in docker
docker pull jenkins/jenkins
#查看镜像
[root@www tools]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
jenkins/jenkins latest 173b5f49b57a 30 hours ago 704MB
#启动容器并指定目录
1、8080映射到8080
docker run -d -p 8080:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins
访问网站:IP:8080
2、#8080映射到80
docker run -d -p 80:8080 -p 50000:50000 -v jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins
访问网站:IP
查看日志,拿到密码
[root@www tools]# docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
6052bc205c3c433e802d07f364d10131
##2.2 访问jenkins
http://59.47.71.229:8080

点击“选择插件来安装”
保持默认,点击继续。
创建管理员用户,保存并完成。
设置Jenkins访问地址,保持默认,点击保存完成。
2.2.6 使用Jenkins
https://ip:8080

2.2.7 其它
#安装jenkins in docker 版本报误
docker: Error response from daemon: driver failed programming external connectivity on endpoint lucid_shamir (ee99d7c2482d0bc6e8a07892a4a9f22a6d3a7342e18798adfa13354e928e22a6): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 50000 -j DNAT --to-destination 172.17.0.3:50000 ! -i docker0: iptables: No chain/target/match by that name.
(exit status 1)).
原因:因为网桥的原因造成的。
解决办法:
yum remove firewald -y
yum install iptables -y
#查看容器
[root@www tools]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1256f72c1cb jenkins/jenkins "/sbin/tini -- /usr/…" 7 minutes ago Exited (1) 4 seconds ago serene_germain
停止掉容器
[root@www tools]# docker stop f1256f72c1cb
f1256f72c1cb
重启docker服务
[root@www tools]# systemctl restart docker
[root@www tools]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d2b04feca25d jenkins/jenkins "/sbin/tini -- /usr/…" 14 seconds ago Up 12 seconds 0.0.0.0:50000->50000/tcp, 0.0.0.0:80->8080/tcp jenkins
43e21738d160 yeasy/simple-web "/bin/sh -c 'python …" 2 hours ago Exited (137) About an hour ago elated_tu
参考:
https://blog.51cto.com/lizhenliang/2159817
https://www.jianshu.com/p/0391e225e4a6

浙公网安备 33010602011771号