博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 Jenkins 自动部署 Docker 服务(一、Jenkins 搭建篇)
阅读量:7221 次
发布时间:2019-06-29

本文共 1741 字,大约阅读时间需要 5 分钟。

直接使用 Jenkins 官方的镜像一般会有两个问题导致不能正常自动部署基于 Docker 的服务。

存在的问题

  • 官方的镜像默认不是使用 root 账号,虽然 Jenkins 可以正常启动,但是因为没有权限导致不能向宿主机写文件
  • Jenkins 基于 Docker 搭建,虽然 Jenkins 同样可以正常启动,但不能在容器内部随意使用 Docker

准备工作

安装 docker、修改 docker 镜像仓库、安装 pip、安装 docker-compose
# 如果觉得麻烦可以用这个部署辅助工具自动完成git clone https://github.com/kwkwc/dockerSH.git# 进入工具目录并自动部署cd dockerSH && ./deploy.sh

问题一 解决

重新创建镜像修改为 root 用户,安装 docker 依赖库(问题二解决)

Dockerfile

FROM jenkins/jenkins:2.137MAINTAINER kwkw "kwkw@example.com"ENV REFRESHED_AT 2018-08-13USER rootRUN 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# 安装 docker 依赖库RUN apt update && apt install -y libltdl7

创建新镜像

docker build -t kwkw/jenkins:2.137 .

问题二 解决

将宿主机的 Docker 程序挂载到 Jenkins 容器内部(宿主机环境为 Ubuntu 16.04,其他环境未测试)

docker-compose.yml

version: '2'services:  jenkins:    restart: always    image: kwkw/jenkins:2.137    container_name: jenkins    expose:      - "8080"      - "50000"    ports:      - "8080:8080"      - "50000:50000"    environment:      JAVA_OPTS: "-Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"    volumes:      - /var/run/docker.sock:/var/run/docker.sock      # 将宿主机的 Docker 程序挂载到 Jenkins 容器内部      - /usr/bin/docker:/usr/bin/docker:ro      - ../data/jenkins:/var/jenkins_home

启动 Jenkins

docker-compose up -d

浏览器打开

:8080

图片描述

初次使用需要填写密钥

请根据 docker-compose.yml 里面填写的挂载路径查找

图片描述

安装

一般我们选择安装推荐的插件,但是因为默认插件源在国外,速度非常慢而且安装失败率高,所以请自行查找特殊办法

图片描述

创建管理员用户

图片描述

搭建完成

图片描述

如果已经搭建好可以使用 Docker 的 Jenkins,请移步到这篇文章

转载地址:http://iphym.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
squid 代理服务器
查看>>
Java实例变量、类变量与局部变量的区别
查看>>
网线的真假辨认
查看>>
zookeeper选举算法
查看>>
葵花宝典与学习之如何平稳的进入新技术领域
查看>>
IPV6 简单应用
查看>>
mysql重复字段中 --- 获得最后一次插入的记录
查看>>
Linux(CentOS)下配置安装Tomcat并配置JDK环境
查看>>
squid优化笔记 nginx正向代理的缺点
查看>>
Linux 之nginx 负载均衡集群
查看>>
编译nginx的要求与nginx的安装和启动,停止,平滑启动
查看>>
Android官方命令深入分析之绘制9-patch
查看>>
iPhone手机关闭ios10自动更新
查看>>
Devil fly
查看>>
myecplise启动时报错:Content is not allowed in prolog
查看>>
MySQL索引使用笔记
查看>>
为什么你的教学,学生总是提不起兴趣?
查看>>
几何画板坐标轴刻度数字怎么变大
查看>>
Flash Stage3D Molehill 学习笔记(2)
查看>>