Centos7下docker安装jenkins

个人记录

安装Docker与Docker-compose

Centos7安装Docker与Docker-compose【图文教程】

配置docker-compose.yml

bash 复制代码
vim docker-compose.yml

按i进行编辑模式,粘贴如下内容

yaml 复制代码
version: '3'
services:
  jenkins:
    image: jenkinsci/blueocean
    container_name: jenkins
    restart: always
    user: root
    ports:
    - 8080:8080
    - 50000:50000
    volumes:
    - /mydata/jenkins_home:/var/jenkins_home
    - /etc/localtime:/etc/localtime:ro
    - /var/run/docker.sock:/var/run/docker.sock

配置maven的seeting文件(maven项目必备)

bash 复制代码
mkdir -p /mydata/jenkins_home/appconfig/maven
vim /mydata/jenkins_home/appconfig/maven/settings.xml

粘贴如下内容

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>
  </servers>
  <mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <localRepository>/root/.m2</localRepository>
  <profiles>
	<profile>
		<id>jdk-1.8</id>
		<activation>
			<jdk>1.8</jdk>
		</activation>
		<properties>
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
		</properties>
	</profile>
  </profiles>
</settings>

运行docker-compose

bash 复制代码
docker-compose up -d

如运行几分钟后结尾报192.168.0.1:53: i/o timeout,可尝试以下方法解决。
解决docker-compose up -d报ERROR: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 192.168.0.1:53: read udp 192.168.0.12:53003->192.168.0.1:53: i/o timeout

运行成功后,如下图

查看容器

bash 复制代码
docker ps

添加开放8080端口

bash 复制代码
firewall-cmd --zone=public --add-port=8080/tcp --permanent

重载入添加的端口

bash 复制代码
firewall-cmd --reload

查询8080端口是否开启成功

bash 复制代码
firewall-cmd --query-port=8080/tcp

如访问不了可尝试如下命令(暂时关闭防火墙)

bash 复制代码
systemctl stop firewalld

查看管理员密码

bash 复制代码
docker logs jenkins

访问Jenkins修改升级站点

http://192.168.0.12:8080/pluginManager/advanced

输入管理员密码

拉到最下面把url改成以下四选一

jenkins,https改成http

http://updates.jenkins.io/update-center.json

阿里云

https://mirrors.aliyun.com/jenkins/updates/update-center.json

华为云

https://mirrors.huaweicloud.com/jenkins/updates/update-center.json

清华大学

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

,点击Submit。

重启jenkins

bash 复制代码
docker restart jenkins

如重启报Error response from daemon: Cannot restart container jenkins: driver failed programming external connectivity on endpoint jenkins (4e616d999df473e9d9fb306a629cf81428e79618aa00c6bcfe23e19cdc251b5d): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 50000 -j DNAT --to-destination 172.18.0.2:50000 ! -i br-3ade2f68417d: iptables: No chain/target/match by that name.

可使用如下命令(重启docker,因端口占用)

bash 复制代码
systemctl restart docker

进入jenkins

http://192.168.0.12:8080/

输入管理员密码,进入'自定义Jenkins'界面,点击安装推荐的插件。

下载安装中

有多个失败,点击继续(插件后续再安装解决)

创建第一个管理员用户

名字建议:admin,密码:一个自己容易记的。点击保存并继续

实例配置

容易IP不会变的话,可以点击'保存并完成',否则点击'现在不要'。

Welcome to Jenkins!

成功

切换default.json源,提高插件安装成功率。(作者暂未成功,欢迎读者补充)

bash 复制代码
sudo sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.aliyun.com\/jenkins/g' /mydata/jenkins_home/updates/default.json
sudo sed -i 's/http:\/\/www.google.com/http:\/\/www.baidu.com/g' /mydata/jenkins_home/updates/default.json
相关推荐
吴声子夜歌2 小时前
Docker入门与实战——实战案例(Web服务与应用)
docker·容器
Wang's Blog2 小时前
Java 项目部署之 Docker工具快速入门: Docker 架构拆解:镜像、容器、守护进程与 Registry
java·docker·架构
java_logo3 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像
a5986523 小时前
Docker云手机搭建挂机环境,外网远程访问完整实操
docker·容器·智能手机·云手机
夜之眷属3 小时前
服务启动即崩:InetAddress.getLocalHost() 抛 UnknownHostException 排查记
java·运维·后端·docker
郭老二4 小时前
【docker】使用阿里云的容器镜像服务(ACR)构建自己的容器仓库
阿里云·docker·容器
回眸不遇4 小时前
Elasticsearch嵌套类型nested使用指南<第七十二篇>
大数据·elasticsearch·jenkins
Wang's Blog7 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
pengdott7 小时前
Jenkins最新版本2.585修改插件源的方法
jenkins·流水线
蓝胖的四次元口袋8 小时前
Jenkins知识梳理(2)
运维·jenkins