Docker Compose

ASP.NET Core结合Nacos来完成配置管理和服务发现

流过昼夜 提交于 2020-04-10 13:35:05
目录 前言 Nacos的简介 启动Nacos 配置管理 服务发现 写在最后 前言 今年4月份的时候,和平台组的同事一起调研了一下Nacos,也就在那个时候写了.net core版本的非官方版的 SDK 。 虽然公司内部由于某些原因最后没有真正的用起来,但很多人还是挺看好的。在和镇汐大大沟通后,决定写一篇博客简单介绍一下。 下面这个图,就是本文的重点了。 Nacos的简介 Nacos是一个易于构建云原生应用的动态服务发现、配置管理和服务管理平台,它提供了一组简单易用的特性集,帮助我们快速实现动态服务发现、服务配置、服务元数据及流量管理。 它有下面的关键特性 服务发现和服务健康监测 动态配置服务 动态 DNS 服务 服务及其元数据管理 ... 特性还是挺多的,也有挺多值的挖掘的地方。有关Nacos的更多信息可以访问下面的地址: https://nacos.io/zh-cn/ https://github.com/nacos-group https://github.com/alibaba/nacos 下面就开始正题了,第一步肯定是先把Nacos跑起来。 启动Nacos 由于是演示,所以直接用docker启动了 Standalone Mysql 模式的。 git clone --depth 1 https://github.com/nacos-group/nacos-docker.git

Zookeeper-deploy

大城市里の小女人 提交于 2020-04-08 17:58:14
一、概述 1.1、简介 Zookeeper是一个开源的,分布式的,为分布式应用提供协调服务的Apache项目 1.2、工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化Zookeeper就将负责通知已经在Zookeeper.上注册的那些观察者做出相应的反应。 1.3、特点 1) Zookeeper: 一个领导者(Leader) ,多个跟随者(Follower) 组成的集群。 2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。 3)全局数据一致:每个Server保存一份相同的数据副本,Client无论 连接到哪个Server,数据都是一致的。 4)更新请求顺序进行,来自同一个Client的更新请求按其发送顺序依次执行。 5)数据更新原子性,一次数据更新要么成功,要么失败。 6)实时性,在一定时间范围内,Client能读到最新数据。 1.4、数据结构 ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。 znode一共有4种类型:持久的(persistent)、临时的 (ephemeral)、持久有序的

用nextcloud搭建个人网盘

元气小坏坏 提交于 2020-04-06 17:57:06
nextcloud nextcloud是一个私有云存储网盘项目,nextcloud是owncloud的衍生版本,2016年4月27日,ownCloud联合创始人Frank Karlitschek宣布离开ownCloud ltc.,转而成立另一家公司“Nextcloud”,由于ownCloud程序本身归其开发人员所有,所以Nextcloud可以直接使用ownCloud的核心技术。nextcloud具有强大的扩展性,同时主打 a safe home for all your data,所以在安全性上nextcloud也十分出色。 nextcloud安装 参考: https://hub.docker.com/_/nextcloud/ nextcloud安装最简单的方式就是用docker来拉起应用: $ docker run -d \ -v nextcloud:/var/www/html \ -v apps:/var/www/html/custom_apps \ -v config:/var/www/html/config \ -v data:/var/www/html/data \ -v theme:/var/www/html/themes/<YOUR_CUSTOM_THEME> \ -p 8080:80 \ nextcloud nextcloud文件目录说明: /var/www

架构师之路(十)之玩转Sharding-Proxy

那年仲夏 提交于 2020-04-06 13:33:52
简介 官网解释: Sharding-Proxy是ShardingSphere的第二个产品。 它定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL/PostgreSQL版本,它可以使用任何兼容MySQL/PostgreSQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat等)操作数据,对DBA更加友好。 架构图 向应用程序完全透明,可直接当做MySQL/PostgreSQL使用。 适用于任何兼容MySQL/PostgreSQL协议的的客户端。 准备玩转 我们按照官网给的操作步骤,手动执行以下看看,Sharding-Proxy是怎么个流程,它是怎么充当数据库代理中间商的. 拉取官方的docker镜像 开始之前,需要将我们的基础实验环境搭建好,我们先启动一下虚拟机的docker服务,见如下图所示 图10-1 启动docker服务之后,我们就可以从官网拉取sharding-proxy的官方镜像文件,操作如下: 图10-2 docker拉取镜像速度有点慢,远程仓库地址是国外,大家也可以配置国内docker镜像或者配置国内镜像加速点,国内比较常用的镜像仓库比如网易云,阿里云,时速云等,这里就不赘述了,直接上国外镜像拉取,,不管怎样,只要能拉取下来就oK

使用KubeFATE快速部署联邦学习实验开发环境(二)

旧巷老猫 提交于 2020-03-27 18:06:48
3 月,跳不动了?>>> 概述 在前面的文章中,我们介绍过如何使用KubeFATE来部署一个单节点的FATE联邦学习集群。在真实的应用场景中,联邦学习往往需要多个参与方联合起来一起完成任务。基于此,本文将讲述如何通过KubeFATE和Docker-Compose来部署两个参与方的FATE集群,并在集群上运行一些简单的测试以验证其功能的完整性。 FATE集群的组网方式 联邦学习的训练任务需要多方参与,如图1所示,每一个party node都是一方,并且每个party node都有各自的一套FATE集群。而party node和party node之间的发现方式有两种。分别是点对点和星型。默认情况下,使用KubeFATE部署的多方集群会通过点对点的方式组网,但KubeFATE也可以单独部署Exchange服务以支持星型组网。 图 1 FATE集群组网方式 使用KubeFATE和Docker-Compose部署两方训练的集群 KubeFATE的使用分成两部分,第一部分是生成FATE集群的启动文件(docker-compose.yaml),第二个部分是通过docker-compose的方式去启动FATE集群。从逻辑上可将进行这两部分工作的机器分别称为部署机和目标机器。 Figure 1部署机目标机关系图 目标 两个可以互通的FATE实例,每个实例均包括FATE所有组件

搭建内网穿透服务器

我与影子孤独终老i 提交于 2020-03-23 20:03:27
3 月,跳不动了?>>> 前言 有的运营商(比如移动)不给公网IP,但我们又需要公网IP(远程访问家里的NAS,远程控制家里的电脑等)怎么办,自己搭建一台内网穿透服务器。 本教程需要一台有公网IP的服务器,租服务器可以看看我这篇文章: 便宜的VPS/云服务器推荐 本篇教程讲两种内网穿透工具的搭建和使用 Proxyer(推荐) Proxyer 目前仅支持 TCP 协议、虽然看起来功能比较简单,但基本可以满足日常使用了,特别是在安装和使用方面,对于新手是比较友好的。 这个不需要被端口映射的设备安装客户端,只需要局域网内一台设备安装客户端就可以映射局域网内所有设备的端口。 截图 服务端 Github地址: https://github.com/khvysofq/proxyer 1、安装Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl

安木鸡/sentiment-analyzer

六眼飞鱼酱① 提交于 2020-03-23 18:38:11
3 月,跳不动了?>>> Sentiment analyzer 中文 | English 一个简单的基于微服务架构的中文情绪分析应用,它会被部署到 Kubernetes 进行服务。 原本就计划开发一个关于 Kubernetes 的项目,只是没想好怎么去切入这个大课题, 不久前受到 一篇文章 的启发,所以我也将会开发一个类似的项目。 项目搭配我写的这三篇分享文章服用,效果更佳哦: 扬帆前夜 Kubernetes 短途旅行(上) Kubernetes 短途旅行(下) 技术栈: Python Flask SnowNLP Golang Gin Vue.js Docker Kubernetes 使用 docker-compose 启动应用 使用 docker-compose up -d --build 启动应用。 在浏览器访问 http://127.0.0.1:3000 。 使用 docker-compose down -v 停止应用。 截图 来源: oschina 链接: https://my.oschina.net/u/4323704/blog/3209261

Docker 中 PHP-FPM 容器无法记录日志

こ雲淡風輕ζ 提交于 2020-03-23 17:04:17
3 月,跳不动了?>>> 最近遇到一个奇怪的问题,在docker的php容器中配置了启用慢日志: catch_workers_output = yes slowlog = /var/log/dnmp/php.slow.log request_slowlog_timeout = 1 s 但是 日志文件总是没记录 ,一直是空的。 最后在serverfault.com上找到答案: 在Linux系统中, PHP-FPM使用 SYS_PTRACE 跟踪worker进程 , 但是docker容器默认又不启用这个功能 ,所以就导致了这个问题。 知道了问题所在,解决起来就快了。 如果用 命令行 ,在命令上加上: --cap-add =SYS_PTRACE 如果用 docker-compose.yml 文件,在服务中加上: php : #... cap_add : - SYS_PTRACE #... 参考资料: PHP slowlog empty even though PHP-FPM says it's logging 来源: oschina 链接: https://my.oschina.net/jack088/blog/3209154

Docker: redis 主从

一曲冷凌霜 提交于 2020-03-12 11:52:01
redis ➜ docker_db git:(master) ✗ cat docker-compose.yml version: '2' services: redis-m: build: redis/ volumes: - ~/docker/redis/data:/data - ~/docker/redis/conf/master/redis.conf:/etc/redis/redis.conf ports: - "6379:6379" networks: - db redis-s1: build: redis/ volumes: - ~/docker/redis-s1/data:/data - ~/docker/redis/conf/slave/redis.conf:/etc/redis/redis.conf ➜ docker_db git:(master) ✗ docker-compose ps Name Command State Ports ---------------------------------------------------------------------------------------------------- docker_db_redis-m_1_9a89426cafe7 docker-entrypoint.sh /usr/ ... Up

5 分钟搭建 Node.js 微服务原型

99封情书 提交于 2020-03-11 16:41:37
微服务已成为在 Node.js 中构建可扩展且强大的云应用的主流方法。同时也存在一些门槛,其中一些难点需要你在以下方面做出决策: 组织项目结构。 将自定义服务连接到第三方服务(数据库,消息代理等) 处理微服务之间共享的代码。 将项目容器化。 在本地运行和调试,然后将其部署到云中。 SMF 框架是开箱即用的解决方案: https://github.com/krawa76/smf 让我们看看它如何帮你创建和部署微服务原型而 无需编写任何代码。 创建项目 安装框架,创建一个新项目并 cd 到项目目录: 1$ npm install -g sokyra-microservice-factory 2$ smf new test-stack 3$ cd test-stack 带有演示服务的样板代码已生成,我们可以轻松地运行该项目: 1$ smf up 这将生成 Docker工件(docker-compose 和环境变量文件),构建映像并在本地运行容器: docker-compose 日志 如果在编辑器中打开项目,则会看到带有 main.ts 模块的自动生成的 demo 服务,该服务在上面的日志中生成了记录。其他的重要文件是 smf-stack.json (项目配置), smf-env.json (容器 env 变量),通用的 Dockerfile 和 smf-docker.yml