Docker Compose 安装 Jenkins

前言

上回我们已经安装好了 Docker,这篇我们利用 Compose,通过配置 docker-compose.yml 安装 jenkins。之所以使用 Compose,是因为后续如果有更多容器,能够更为方便直观的管理。本文翻译了部分 Docker 官方文档,并且参考了简书及掘金上一些博主的文章,如果我写的有些不太清楚的点,可以点击文末链接查看原文。

安装 Docker Compose

Docker Compose 依赖于 Docker,在安装 Docker Compose 前,需要确保已经安装了 Docker。
如果你在 Mac 和 Windows 安装了 Docker Desktop,则不需要另行安装,Docker Compose 已经包括在内。如果想要在 Linux 上安装 Docker Compose,则需要先安装 Docker,详细步骤可参考我的上篇博文《CentOS7 Docker CE 安装》。

在 Linux 系统上安装 Compose

  1. 运行下列命令下载当前的 Docker Compose 稳定版本:

    sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. 添加可执行权限

    sudo chmod +x /usr/local/bin/docker-compose
  3. 查看是否安装成功

    docker-compose --version

卸载 Compose

因为我们是采用 curl 方式安装,卸载只需要运行以下命令:

sudo rm /usr/local/bin/docker-compose

安装 Jenkins

配置 docker-compose.yml 文件

  1. 创建 Jenkins 文件夹,并新建 docker-compose.yml 文件
version: '3'    # 定义版本,不指定默认为版本 1,新版本功能更多
services:       # 容器
  jenkins:
    image: 'jenkins/jenkins:lts'    # 镜像
    container_name: jenkins         # 容器名称
    restart: always                 # 同 --restart 参数
    ports:                          # 端口映射,同 -p 参数,本地端口:容器端口
      - '8080:8080'
      - '50000:50000'
    volumes:                        # 数据卷,本地文件夹:容器文件夹
      - '/data/docker/jenkins:/var/jenkins_home'

如果服务器 8080 端口被占用,可将 services-jenkins-ports 中的 8080:8080 改为 xxxx:8080,其中 xxxx 对应你自己的端口。
ps:记得将 xxxx 端口开放。

创建映射文件夹,并启动 jenkins

  1. 创建映射文件夹,将 Docker 中的 /var/jenkins_home 目录映射到本地目录。若本地目录和本文不一致,则需要修改上述 docker-compose.yml 中的 services-jenkins-volumes 字段中的 /data/docker/jenkins 为你自己的目录

    mkdir -p /data/docker/jenkins
    chown -R 1000:1000 /var/jenkins_home    # 把当前目录的权限分配给 uid 1000
  2. 启动 jenkins 容器

    docker-compose up -d    # -d 参数表示后台启动
  3. 接下来只需要访问 http://server_ip:8080 ,运行下列命令获取密钥,即可登录 Jenkins 啦

    docker logs -f jenkins

    如果之后忘记了密钥,也可以通过下列指令找回:

    cat /data/docker/jenkins/secrets/initialAdminPassword

参考文献

Install Docker Compose - Docker官网文档

Docker Compose 零基础入门

Docker:Docker Compose 详解

docker-compose 安装 jenkins

Image placeholder
zhangdingfang
未设置
  47人点赞

没有讨论,发表一下自己的看法吧

推荐文章
docker-compose 搭建 dnmp 总结

说明从零开始写一份dnmp环境的docker-compose.yml(由于redis比较常用,也包括进来)。总体设计示意图: 网络分配上,让要直接通讯的容器同属于一个网络,不直接通讯的容器属于不同的网

自己撸一个 LaraDock(使用 Docker LNMP 部署 PHP 开发环境)

项目简介 DockerLNMP是基于docker-compose开发的运行在Docker上的LNMP开发环境,包含PHP、MySQL、Redis等镜像并支持多版本切换,满足您的学习、开发和测试需求。

Jenkins export and import jobs 迁移导出导入任务实践小结

前言我遇到的Jenkins迁移项目并非可以通过简单的物理文件复制就可以轻松解决,需要考虑上千个不同项目的jobs分离,Jenkins1.x和2.x大版本兼容性,JenkinsPlugins插件,Jen

使用kubei一步部署k8s高可用集群(包含docker安装、k8s组件安装、master初始化和加入nodes节点)

kubei(kubernetesinstaller)是一个go开发的用来部署kubernetes高可用集群的命令行工具,该工具可在Windows、Linux、Mac中运行kubei原理:通过ssh连接

扩展包助手,一键生成 Composer/PHP/ThinkPHP/Laravel 扩展包

ComposerPackageBuilder扩展包助手,一键生成composer/php/thinkphp/laravel扩展包安装composergrequirehuangdijia/compose

三丰云CentOS7.3服务器上安装Docker

下面分享一下如何在自己购买的三丰云服务器(CentOS7.3版本)上安装Docker大神可直接看如下命令进行安装,菜鸟可按后面给出的傻瓜式安装步骤进行操作:更新Yum包:yumupdate安装所需的包

CentOS7 Docker CE 安装

前言最近想要搭建一个Jenkins用于持续集成,查阅了官网文档后,发现Docker镜像安装十分便利。一直久仰Docker大名,直到2020年才接触实在是落后了太多。那么,就先拆解一下接下来的内容:一、

腾讯优图 OCR Composer 包

支持身份证识别 行驶证/驾驶证识别 通用识别 营业执照识别 银行卡识别 手写体识别 车牌识别 名片识别 环境需求PHP>7.1 composer 安装composerrequiredoododo/oc

Jenkins CLI 命令行 v0.0.23

本文首发于:Jenkins中文社区作者:ZhaoXiaojieJenkinsCLI在参加2019年谁是最受欢迎的中国开源软件投票,如果您已经是JenkinsCLI的用户,请点击下面的链接帮忙投上一票。

在Jenkins中发布react 静态项目常用shell脚本

功效:服务器git永远同步,远程,本地有更改文件或文件夹会被重置掉,保持和远程仓库一致 rsync同步文件 永久链接:https://shudong.wang/10705.html获取git远程仓库

使用Jenkins一键打包部署SpringBoot应用,就是这么6!

SpringBoot实战电商项目mall(25k+star)地址:https://github.com/macrozheng/mall 摘要任何简单操作的背后,都有一套相当复杂的机制。本文将以Spri

docker 安装 Laravel 环境 (nginx mariadb PHP7.3)

1,安装mariadb创建网路dockernetworkcreate--subnet=172.18.0.0/16mynetworkdockerrun-d-p3306:3306-eMYSQL_ROOT_

使用 Docker 创建 Hyperf 项目

@[TOC]安装Hyperf开发容器dockerrun-d--nameuser_center\ --restart=always\ #映射到宿主机目录,这样我们就直接在/home/wwwroot/us

用docker拓展压测工具artillery的能力

指定域名的IP地址最近在用artillery做压测时遇到一个问题。我需要压测某一个通过域名访问的服务,而这个域名背后的机器地址需要随着压测用例变化的。通常这就是DNS要做的事情-把不变的域名和变化的地

Composer 国内全量镜像大全

为laravel-China的composer全量镜像进行分压,特意整理了国内能用的composer全量镜像。 镜像使用 $composerconfig-grepo.packagistcompose

最新的 Composer 包镜像地址

最新的包地址 composerconfig-grepo.packagistcomposerhttps://mirrors.aliyun.com/composer/

Composer 镜像管理工具新版本 2.3.0 发布

照例附上项目地址:https://github.com/slince/composer-registr...经过一段时间开发,CRM新版本算是开发完成,在此次版本更新中主要涉及以下:增加镜像归属地功能

Composer包管理工具精讲及搭建自己的PHP开发框架笔记

https://www.lmonkey.com/chapters/dvy9p2EKN/tasksComposer包管理工具精讲及搭建自己的PHP开发框架

Docker 麻烦大了

Docker是容器技术的典范,但其近况似乎不佳。 在早前泄露的一份备忘录中,DockerCEO罗博·比尔登(RobBearden)赞扬了公司的员工,但话术却非常地耐人寻味: 尽管“不确定性带来了巨大

15 个 Docker 初学者必须掌握的命令

这篇文章我基本上不会做put操作。如果你认为这些命令缺少了什么其他方面重要的东西,那么你需要自行检查Docker文档(https://docs.docker.com/) pull pull命令和gi

使用 Docker 创建 Lumen 项目

lumen6需要PHP>=7.2,我们仍然使用docker进行开发,我制作了一个基于PHP7.3的镜像,直接拉来用就可以了dockerrun-d--namephp-apache-dev\ --rest

Docker容器实现原理及容器隔离性踩坑介绍

本文讲述了 关于容器隔离性的一个“坑”正如Docker官方的口号:“Buildonce,Runanywhere,Configureonce,Runanything”,Docker被贴上了如下标签:轻巧

万字长文:聊聊几种主流Docker网络的实现原理

一、容器网络简介容器网络主要解决两大核心问题:一是容器的IP地址分配,二是容器之间的相互通信。本文重在研究第二个问题并且主要研究容器的跨主机通信问题。实现容器跨主机通信的最简单方式就是直接使用host

使用 Docker 部署 Spring Boot 项目

Docker技术发展为微服务落地提供了更加便利的环境,使用Docker部署SpringBoot其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的SpringBoot项目,然后给项目添加Doc

Docker最佳实践:5个方法精简镜像

本文记录了精简Docker镜像尺寸的必要性及好处精简Docker镜像的好处很多,不仅可以节省存储空间和带宽,还能减少安全隐患。优化镜像大小的手段多种多样,因服务所使用的基础开发语言不同而有差异。本文将