不要用docker pull jenkins,因为官方已经弃用了,版本较低,安装后所有插件都装不上。安装jenkins/jenkins:lts即可
docker pull jenkins/jenkins:lts
docker run --name Jenkins
--user root
--restart=always
-p 8081:8080
-p 50000:50000
-v /etc/localtime:/etc/localtime
-v /zxs/jenkins_home:/var/jenkins_home
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/bin/docker:/usr/bin/docker
-d jenkins/jenkins:lts
注:多行命令的每一行开关必须要有个空格,不然放到终端执行时会报错
-v /var/run/docker.sock:/var/run/docker.sock
#容器中的进程可以通过它与Docker守护进程进行通信
-v /usr/bin/docker:/usr/bin/docker
#将宿主机的docker命令挂载到容器中
#可以使用which docker命令查看具体位置
#或者把挂载的参数改为: -v $(which docker):/usr/bin/docker
-u root
#以root的身份去运行镜像(避免在容器中调用Docker命令没有权限)
-v /etc/localtime:/etc/localtime 是为了解决容器内的时区和本地时区不一致的问题
访问:http://ip:8081,按照步骤配置用户,登录发现无法加载插件,
在“系统管理 -> 管理插件 -> 高级 -> 升级 -> 升级站点”中配置其它镜像地址也不行
http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
后来进入容器,ping baidu.com,发现根本ping不通,公网ip可以ping通,也就是dns解析不了
后来查资料发现是防火墙的原因:
生产环境下是绝对不可以禁用防火墙, 只需要开启伪装IP的功能即可以正常使用dns
[root@localhost liuhongdi]# firewall-cmd --zone=public --add-masquerade --permanent success [root@localhost liuhongdi]# firewall-cmd --reload success [root@localhost liuhongdi]# systemctl stop firewalld [root@localhost liuhongdi]# systemctl start firewalld [root@localhost liuhongdi]# systemctl stop docker [root@localhost liuhongdi]# systemctl start docker [root@localhost liuhongdi]# docker run --name tracker1 --privileged -v /usr/local/source:/usr/local/source -d -i -t 470671670cac /usr/sbin/init 914e7dcb12983cc27302a7becf05833abab07d8a765bf11326ca0c9ecfa12e6a [root@localhost liuhongdi]# docker exec -it tracker1 /bin/bash [root@914e7dcb1298 /]# ping www.sina.com.cn PING spool.grid.sinaedge.com (120.192.83.125) 56(84) bytes of data. 64 bytes from 120.192.83.125 (120.192.83.125): icmp_seq=1 ttl=51 time=34.6 ms ^C --- spool.grid.sinaedge.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 5ms rtt min/avg/max/mdev = 20.664/27.730/34.566/5.679 ms
Jenkins安装插件很慢的解决方法
修改 Jenkins / update / default.json 这个文件就可以了
修改内容
1. 把 “http://www.google.com/” 改成 “http://www.baidu.com/ ”
2. 全局搜索 “https://updates.jenkins.io/download” 替换成 “https://mirrors.tuna.tsinghua.edu.cn/jenkins”
发布.net core程序
#!/bin/bash
docker stop webapp_c
docker rmi webapp
cd /var/jenkins_home/jobs/WebAppTest/workspace/
docker build -t webapp .
docker run --rm --name webapp_c -p 8080:80 -d webapp
docker rmi $(docker images -f "dangling=true" -q)
echo "success"