docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令

使用最新的官方镜像jenkins/jenkins

第一次使用的docker部署jenkins的时候,出现了两个问题:

1、因为用户权限问题挂载/home/jenkins/data到/var/jenkins_home挂载不了。后面通过修改data目录的所属用户可以解决,即在容器下查询用户id(1000),然后把data改成同样的用户id

2、即便挂载docker命名和docker.sock,也修改了相应的权限,仍存在libltdl7没有权限读取。当然好像也不影响使用,只是在容器里面执行docker info的时候,会报无法读取libltdl7.so的信息。

于是查找资料在jenkins/jenkins基础上再建一个Jenkins镜像。

编辑Dockerfile

FROM jenkins/jenkins

USER root
#清除了基础镜像设置的源,切换成阿里云的jessie源
RUN echo ‘‘ > /etc/apt/sources.list.d/jessie-backports.list   && echo "deb http://mirrors.aliyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list   && echo "deb http://mirrors.aliyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list   && echo "deb http://mirrors.aliyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list
#更新源并安装缺少的包

RUN apt-get update && apt-get install -y libltdl7

ARG dockerGid=999

RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group USER jenkins

# 安装 docker-compose  --- 挂载宿主机上的就可以了
# RUN curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# RUN chmod +x /usr/local/bin/docker-compose

开启容器,挂载maven

#!/bin/bash
docker run --name jenkins -p 8008:8080 -p 50000:50000 --add-host=‘centos6.5:192.168.0.8‘ \   # 增加额外host,这个是gitlab的ip
-v /opt/maven3.5.2:/var/maven3.5.2 -v /opt/maven_jar:/var/maven_jar -v /home/jenkins/settings.xml:/var/jenkins_home/.m2/settings.xml -v /etc/localtime:/etc/localtime:ro -v /home/jenkins/data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -v $(which docker-compose):/usr/local/bin/docker-compose -d com.jay.myjenkins:latest

settings.xml以及maven需要在jenkins配置里配置一下。

原文地址:https://www.cnblogs.com/jay763190097/p/8305911.html

时间: 2024-11-05 15:51:25

docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令的相关文章

SCVMM 2012 R2部署测试之五向SCVMM中添加Hyper-V主机

1. 创建运行方式账户 打开SCVMM管理控制台,点击设置-创建运行方式账户 填写账户名称,这里用vmmadmin来作为运行方式账户,点击确定. 注:使用运行方式账户时不得与安装vmm时的服务账户使用同一账户 2. 创建主机组 打开管理控制台,点击VM和服务,在所有主机右键菜单中选择创建主机组. 输入主机组名称'HY Server'. 3. 添加Hyper-V主机 在HY Server文件夹右键菜单选择添加Hyper-v主机和群集.(添加主机的操作也可以在'构造'中配置),打开'添加资源向导'.

NET Core Docker部署

NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序. ASP.NET Nginx 发布和部署 :http://www.cnblogs.com/savorboard/p/dotnet-core-publish-nginx.html. Asp.Net Jexus 发布和部署:http://www.cnblogs.com/

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

Docker部署CouchDB

CouchDB介绍: CouchDB是Apache组织发布的一款开源的.面向文档类型的NoSQL数据库.由Erlang编写,使用json格式保存数据.CouchDB以RESTful的格式提供服务 可以很方便的对接各种语言的客户端 CouchDB最大的竞争对手就是熟悉的MangoDB.它们的不同点比较会在另外一篇里面写入 CouchDB 目标是做下一代的Web应用存储系统 CouchDB下载,安装: 官网:http://couchdb.apache.org/ 目前只有2.0.0版本 2016年9月

docker 部署 jenkins

建议使用的Docker映像是jenkinsci/blueocean image(来自 the Docker Hub repository). 该镜像包含当前的长期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆绑了所有Blue Ocean插件和功能. 部署方法: docker run -u root --name jenkins -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/

Ubuntu系统下基于docker部署Jenkins环境

本文是在ubuntu环境下安装jenkins,jenkins运行在docker容器中, 至于docker如何安装,请参考https://www.cnblogs.com/xingyunqiu/p/11584066.html Jenkins官网文档:https://jenkins.io/zh/doc/ 使用命令从镜像仓库拉取指定文件,我这里用的是jenkins:lts这个版本:如果需要其他版本 注意,由于我是基于docker容器化部署Jenkins,所以不需要安装jdk环境 sudo docker

在Docker Centos上部署Jenkins(包含Jenkins汉化)

环境: 本机 - macOS 10.12.6 Docker - Docker Community Editoin_ Version 17.06.0-ce-mac19(安装步骤见另一篇) 使用的Docker镜像: centos (latest) 安装步骤: 1.新建并启动一个centos docker容器 tester_mac:~ $  docker run -itd --privileged --name=jenkins -p 4000:4000 centos /usr/sbin/init --

【实战练习】通过docker部署jenkins

jenkins官网 :https://jenkins.io/ 拉取jenkins Official Jenkins Docker image [[email protected]-172-31-16-58 ec2-user]# docker pull jenkins/jenkins Using default tag: latest latest: Pulling from jenkins/jenkins 06b22ddb1913: Pull complete 336c28b408ed: Pul

jenkins实战之jenkins安装部署(一)

[本文档所介绍的内容适用于日常测试/生产环境等常见的jenkins应用环境部署] 由于jenkins的安装是运行在java环境中,所以安装前需要部署java相关环境 一:java环境部署前准备: 1.1相关软件以及系统 系统要求:Centos 6.0(以上) (64位) 相关中间件:jdk1.7.0_71,  apache-tomcat7.0 1.2下载jdk和tomcat,jenkins等相关软件 下载jdk(版本为jdk1.7.0_71) wget --no-check-certificat