Docker Compose

利用Docker搭建开发环境

南笙酒味 提交于 2020-10-01 20:58:07
一、 前言 随着平台的不断壮大,项目的研发对于开发人员而言,对于外部各类环境的依赖逐渐增加,特别是针对基础服务的依赖。这些现象导致开 发人员常常是为了简单从而直接使用公有的基础组件进行协同开发,在出现并行开发的情况特别是针对数据库的变动或数据的更改常常会 导致其他开发人员无辜增加问题的排查时间,导致整体的开发效率降低,同时对于远程协助也造成了巨大的障碍。为了解决上述存在的问 题,将会利用Docker Compose技术辅助开发人员对于开发环境的搭建,最终实现开发人员只要装有Docker就可以完成整个开发环境的搭 建。 二、 基本操作 为了标准化这一过程,需要开发人员新建docker-compose.yml在项目跟目录下,并按照其规范的格式进行填写,考虑到许多的系统均需 要依赖存在基本数据的数据库所以建议在跟目录下新建dbinit文件夹,将数据库初始化等相关的文件放入其中,后期对于存在依赖多数 据的情况将考虑在dbinit下新建二级目录以区别不同的数据库。 对于基本的使用方式这里以Sino.BackgroundJobService为例进行说明: 打开cmd并进入项目根目录 cd /D G:\SinoOschinaGit\tms\backjob 启动Docker Compose docker-compose up #在前端执行 docker-compose up -d #在后台执行

Docker Hadoop、Spark、Kafka、Zookeeper等集群服务搭建

百般思念 提交于 2020-09-27 13:09:51
目录 Docker搭建Hadoop集群(Docker & Hadoop & HDFS & Yarn & Cluster) Docker搭建Myrocks实例(Docker & Mysql & Rocksdb) Docker搭建Kafka集群(Docker & Kafka & Cluster) Docker Container开启ssh服务 Docker Host创建swarm overlay网络 Docker Host设置自启动、国内源、代理 Docker、Docker Compose、Docker Machine各平台安装 Docker 搭建Zookeeper集群(Docker & Zookeeper & Replication) Docker 搭建Pika分片多主集群(Docker & Codis & Pika& Replication & Sharding) Docker搭建Spark集群(Docker & Spark & Cluster & Local & Standalone) Docker搭建SSDB分片多主集群(Docker & Twemproxy & SSDB & Replication & Sharding) Docker搭建MongoRocks副本分片集群(Docker & Mongodb & Rocksdb & Replication & Sharding)

docker 安装 sonarqube 7.4

血红的双手。 提交于 2020-08-20 07:50:28
1、安装docker-compose sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose 测试docker-compose: docker-compose --version 2、创建docker-compose.yml version: " 3 " services: sonarqube: image: sonarqube: 7.4 - community ports: - " 9000:9000 " networks: - sonarnet environment: - SONARQUBE_JDBC_URL=jdbc:postgresql://db: 5432 / sonar volumes: - sonarqube_conf:/opt/sonarqube/ conf - sonarqube_data:/opt/sonarqube/ data -

Puppeteer 应用容器化

拟墨画扇 提交于 2020-08-20 06:40:02
Puppeteer 应用容器化 Intro Puppeteer是谷歌官方出品的一个通过DevTools协议控制headless Chrome的Node库。可以通过Puppeteer的提供的api直接控制Chrome模拟大部分用户操作来进行UI Test或者作为爬虫访问页面来收集数据。 更多的介绍,可以参考 这里 项目中使用到了 Puppeteer 来做一些爬虫项目,最后需要把应用容器化部署在 docker 上,于是就有了这篇文章。 自定义 docker image 谷歌官方还没有推出一个官方的 docker 镜像,Github上有一个 issue ,有需要的话可以关注下,但是官方有一个 dockerfile 示例 参见官方文档: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker 于是自己在官方的 dockerfile 基础上加以修改,制作了一个 image,docker hub 镜像地址: https://hub.docker.com/r/weihanli/puppeteer/ Dockerfile 内容详见: https://github.com/WeihanLi/docker-env/blob/master

携程Apollo一键打包/部署方案

廉价感情. 提交于 2020-08-19 20:45:42
Apollo-docker 携程Apollo 一键打包/部署方案。 几乎不需要修改任何Apollo源码或配置,实现快速开发/测试环境搭建。 基于 Apollo 1.6.1 支持 Windows , Linux 1、下载源码 Apollo git clone https://gitee.com/nobodyiam/apollo.git 编译脚本 git clone https://gitee.com/ellipse/apollo-docker.git 项目目录结构: apollo-docker/ -- apollo/ <--预编译版 -- admin/ -- config/ -- portal/ -- apollo.env -- docker-compose.yml -- build/ <--编译脚本 -- gulpfile.js -- ... 2、环境准备 JDK 必不可少 Maven Apollo项目使用 Maven 构建。如果没安装maven,会调用 apollo 项目根目录下的 mvnw (会自动下载maven),但由于网络原因导致命令卡住。建议手动安装 maven 并配置环境变量,同时建议将仓库修改为国内仓库。 Node.js 脚本使用 Gulp 编写,需要 Node.js Docker 测试服务器需要安装 Docker 和 Docker compose 3、兼容性检查

基于Spring Boot 和Spring Cloud和Docker的微服务架构项目实战

对着背影说爱祢 提交于 2020-08-19 17:11:38
项目名称 piggymetrics 转发+关注,然后私信回复关键字 “项目”即可获得《 piggymetrics 》的源码地址 项目简介 这是一个教程项目,演示了使用Spring Boot,Spring Cloud和Docker的微服务架构模式。顺便说一下,拥有漂亮的用户界面。 功能服务 PiggyMetrics被分解为三个核心微服务。它们都是围绕某些业务领域组织的可独立部署的应用程序。 开户服务 包含一般用户输入逻辑和验证:收入/支出项目,储蓄和账户设置。 统计服务 对主要统计参数执行计算,并捕获每个账户的时间序列。数据点包含以标准化为基础货币和时间段的值。此数据用于跟踪账户生命周期中的现金流动态。 通知服务 存储用户的联系信息和通知设置(如提醒和备份频率)。计划工从其他服务收集所需的信息,并将电子邮件发送给订阅的客户。 笔记 每个微服务都有自己的数据库,因此无法绕过API并直接访问持久性数据。 在这个项目中,作者将MongoDB用作每个服务的主数据库。具有多语言持久性体系结构(选择最适合服务需求的db类型)也可能是有意义的。 服务到服务的通信已大大简化:微服务仅使用同步REST API进行通话。实际系统中的常见做法是使用交互样式的组合。例如,执行同步GET请求以检索数据,并通过消息代理使用异步方法进行创建/更新操作,以使服务和消息分离。但是,这将我们带到了最终的一致性世界。

docker-compose安装

独自空忆成欢 提交于 2020-08-18 20:58:41
1、github上下载docker-compose二进制文件安装 sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/ local /bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 查看是否安装成功: docker-compose --version 显示版本信息即成功。 docker-compose version 1.16.1, build 1719ceb 2、pip安装 sudo pip install docker-compose 来源: oschina 链接: https://my.oschina.net/dtz/blog/4505736

阿里P8大佬,耗时72小时整理的Docker实战笔记,你值得拥有

怎甘沉沦 提交于 2020-08-17 19:11:21
前言 Docker如日中天,这不是单纯的炒概念,Docker确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用。 Docker是一个开放源代码软件项目,让应用程序部署在软件容器下的工作可以自动化进行,借此在Linux操作系统上,提供一-个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。 Docker是有史以来增长最快的开源项目之一,在其周围的生态系统也是以类似的速度不断发展。由于这些原因,本篇的重点完全在于Docker的工具集。这一范围限定不仅能使内容选材更精准,帮助读者了解在他们的特有实例中如何应用Docker功能;一旦读者们牢牢把握住了本书涉及的基础知识,他们也能应对更大的问题,进而探索整个生态系统。 Docker学习路线 有了学习路线,是不是有种豁然开朗的感觉?那就趁热打铁,跟小编一起进入Docker实战,由项目出发,彻底吃透他!!! 本篇被分成3个部分 第1部分,第1-6章: 介绍Docker和容器的特点。帮助你理解如何安装和卸载Docker中发布的软件。你将学习如何运行、管理,并在不同的容器结构连接不同类型的软件。第一部分介绍每一个Docker用户需要的基本技能。 第2部分,第7-10章: 介绍Docker的封装和软件的分发,涵盖了不同大小Docker镜像的底层机制,以及对不同的封装和分发方法所进行的调查。这一部分

新鲜开源:基于Prometheus的企业监控平台设计与实现

為{幸葍}努か 提交于 2020-08-17 05:22:07
本文根据刘恒滔老师在〖deeplus直播第224期〗线上分享演讲内容整理而成。 (文末有获取本期PPT&回放的方式,不要错过) 大家好,今天跟大家分享的是我们360基于Prometheus开发的监控平台,名字叫“哆啦A梦”,目前已经在GitHub上开源了,这次我主要会分享以下这些内容: Prometheus在360搜索云平台的应用及Alertmanager的痛点 哆啦A梦的设计思路 哆啦A梦的功能介绍 哆啦A梦的快速部署 报警恢复聚合方案 标签匹配筛选 一、Prometheus的应用及Alertmanager的痛点 我们360搜索事业部云平台的Prometheus全部使用容器部署,采用联邦架构,容器监控指标和物理机监控指标全部使用Prometheus进行采集。在使用过程中,我们发现Prometheus自带的报警模块Alertmanager有些地方不是很完善,使用起来不够灵活,具体如下: 无法动态加载监控规则,需要修改配置文件; 使用Alertmanager时,需要修改Prometheus的配置文件将Alertmanager与Prometheus相关联; 无法实现报警升级,不支持获取动态值班组,标签匹配不能动态配置(需要修改配置文件)。 总而言之就是,配置不够方便灵活,需要频繁修改配置文件,学习成本高。 二、哆啦A梦的设计思路 针对上述这些问题,我们开发并开源了哆啦A梦报警平台

.NET Core微服务开发网关篇-ocelot

烂漫一生 提交于 2020-08-17 00:07:33
通过上篇我们知道,网关是外部访问的统一入口,本文采用Ocelot作为Api网关。 环境要求: vs2019 .NetCore3.1 Ocelot16.0.1 创建一个产品服务Api站点(AAStore.ProductCatalog.Api) 添加一个ProductController [Route( " api/[controller] " )] [ApiController] public class ProductController : ControllerBase { [HttpGet(template: " Get " )] public string GetProductById() { return " Product service " ; } } 运行浏览 然后再创建一个订单服务Api站点(AAStore.Orde.Api) 添加一个OrderController [Route( " api/[controller] " )] [ApiController] public class OrderController : ControllerBase { [HttpGet(template: " Get " )] public string GetOrder() { return " Order Service " ; } } 运行浏览 两个服务已经已经准备好了