不要用docker pull jenkins,因为官方已经弃用了,安装后所有插件都装不上
docker pull jenkins/jenkins:lts
docker run --name Jenkins\
--restart=always\
-p 8081:8080 -p 50000:50000\
-v /etc/localtime:/etc/localtime\
-v /zxs/jenkins_home:/var/jenkins_home\
jenkins/jenkins:lts
-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 docker rmi webapp cd /var/jenkins_home/jobs/WebAppTest/workspace/WebAppTest/ docker build -t webapptest . docker run --rm -d --name webapp -p 8080:80 webapp docker rmi $(docker images -f "dangling=true" -q) echo "success"