docker-compose安装Jenkins的实践笔记

 更新时间:2021年09月27日 17:15:36   作者:゛ゞ旁觀者ヾ  
jenkins是一个比较强大的自动构建工具, Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,本文给大家介绍docker-compose安装Jenkins的实践笔记,感兴趣的朋友一起看看吧

创建目录

cd /usr/local/docker/
mkdir jenkins-docker
cd jenkins-docker

创建Dockerfile

vi Dockerfile
# 以下是文件内容
FROM  jenkins/jenkins:lts

USER root
RUN mkdir -p /usr/local/ && \
	cd /usr/local/ && \
	curl -fsSL https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz > /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	tar xzf /usr/local/apache-maven-3.6.3-bin.tar.gz -C /usr/local/ && \
	rm -rf /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	ln -s /usr/local/apache-maven-3.6.3/bin/mvn /bin/mvn && \
	ln -s /usr/local/apache-maven-3.6.3/bin/mvnyjp /bin/mvnyjp && \
	export PATH=/usr/local/apache-maven-3.6.3/bin:$PATH

USER jenkins

构建镜像

docker build -t jenkins-jiacs:lts . 

查看Docker在宿主机的Group ID

cat /etc/group | grep docker

# [root@localhost jenkins-docker]# cat /etc/group | grep docker
# docker:x:994:
# 我这里的是994,根据各自的实际值而定

启动Jenkins容器(docker命令行启动)

# 启动容器之前先创建 /usr/local/docker/jenkins-docker/data 文件夹并赋予权限
# /usr/local/docker/jenkins-docker/config/settings.xml 该文件自行提供(可自定义私服等信息)
mkdir data
chmod -R 777 data

docker run -d -p 8080:8080 -p 50000:50000 \
    -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home \
    -v /etc/localtime:/etc/localtime:ro \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /etc/docker:/etc/docker \
    -v /usr/bin/docker:/usr/bin/docker \
    -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
    -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml \
    --group-add=994 \
    --name my-jenkins \
    jenkins-jiacs:lts
# 说明:
# 1. -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home =》持久化Jenkins数据
# 2. -v /etc/localtime:/etc/localtime:ro  =》 设置Jenkins容器时间和宿主机一致
# 3. -v /etc/docker:/etc/docker =》 Jenkins容器中使用的docker为宿主机安装的docker,保证Jenkins部署的服务是在宿主机中启动的
# 4. -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose 如果宿主机安装了docker-compose,Jenkins容器需要使用的话可以加上该数据卷
# -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml
# --group-add=994 让启动的容器用户组设置为宿主机中docker的用户组,保证在Jenkins容器中有权限操作宿主机的docker命令

启动Jenkins容器(docker-compose启动)

cd /usr/local/docker/jenkins-docker
vi jenkins-docker.yaml
version: '2' # 版本号不要修改,有些版本不支持group_add参数
services:
  jenkins:
    image: 'jenkins-jiacs:lts'
    container_name: my-jenkins
    # restart: always
    ports:
      - '8080:8080'
      - '50000:50000'
    group_add:
      - 994
    volumes:
      - ./data:/var/jenkins_home
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/docker:/etc/docker
      - /usr/bin/docker:/usr/bin/docker
      - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
      - ./config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml

启动

docker-compose -f jenkins-docker.yaml up -d

查看容器

docker ps 

在这里插入图片描述

进入容器

docker exec -it 0d8b70ba5cec bash
# 查看Jenkins初始密码(在容器中执行)
cat /var/jenkins_home/secrets/initialAdminPassword

打开浏览器访问Jenkins服务

http://<宿主机IP>:8080/

将刚才查到的初始密码,填入

在这里插入图片描述

选择安装推荐的插件,等待插件的安装(这里耗时会久一点),如果部分插件安装失败,可以点击重试继续安装,或者记录失败的插件,到系统配置-插件配置中手动安装

在这里插入图片描述

修改Jenkins时区

系统管理 > 脚本命令行,输入一下命令,点击【运行】

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

安装完成

到此这篇关于docker-compose安装Jenkins的文章就介绍到这了,更多相关docker-compose安装Jenkins内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker容器跨服务器的迁移的方法

    docker容器跨服务器的迁移的方法

    本篇文章主要介绍了docker容器跨服务器的迁移的方法,docker的备份方式有export和save两种,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • docker安装包冲突问题解决办法

    docker安装包冲突问题解决办法

    这篇文章主要给大家介绍了关于docker安装包冲突问题解决办法, docker是现在比较流行的一款虚拟化平台了,文中通过图文以及代码示例介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • docker程序镜像的安装流程

    docker程序镜像的安装流程

    镜像相当于容器的"源代码",docker 镜像文件类似于 Java 类模板,而 docker 容器实例类似于 Java 中 new 出来的实例对象,这篇文章主要介绍了docker程序镜像的安装,需要的朋友可以参考下
    2024-01-01
  • Docker核心组件之联合文件系统详解

    Docker核心组件之联合文件系统详解

    这篇文章主要为大家介绍了Docker核心组件之联合文件系统详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • docker安装postgresql的图文教程

    docker安装postgresql的图文教程

    PostgreSQL也称为 Postgres,是领先的对象关系数据库系统,下面这篇文章主要给大家介绍了关于docker安装postgresql的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Docker开启远程连接并实现安全通信详解

    Docker开启远程连接并实现安全通信详解

    这篇文章主要为大家介绍了Docker开启远程连接并实现安全通信过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 谈谈我对docker的理解

    谈谈我对docker的理解

    作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多的优势。这篇文章给大家介绍了docker的优势及docker的三个基本概念,感兴趣的朋友一起看看吧
    2016-10-10
  • 使用Docker部署Nginx+Flask+Mongo的应用

    使用Docker部署Nginx+Flask+Mongo的应用

    这篇文章主要介绍了使用Docker部署Nginx+Flask+Mongo的应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 详解如何获取docker容器(container)的ip地址

    详解如何获取docker容器(container)的ip地址

    这篇文章主要介绍了详解如何获取docker容器(container)的ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Windows安装docker-desktop的详细步骤

    Windows安装docker-desktop的详细步骤

    这篇文章主要介绍了Windows安装docker-desktop的详细步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-03-03

最新评论