Docker Compose

基于Docker-compose搭建Redis高可用集群-哨兵模式(Redis-Sentinel)

我的未来我决定 提交于 2020-05-01 21:40:55
原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_110 我们知道,Redis的集群方案大致有三种:1)redis cluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。 sentinel系统可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务下线时,自动将该master下的某个从服务升级为master服务替代已下线的master服务继续处理请求。 同样,我们使用docker进行搭建 新建一个mkdir redis-sentinel文件夹 进入项目文件夹 cd redis-sentinel,再建立一个sentinel专门来存放哨兵脚本,然后cd sentinel 建立sentinel.conf配置文件: sentinel monitor mymaster redis-master 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 5000 该配置的意思是,监控主服务器的6379端口并且起两个实例,如果哨兵5s内没有收到主节点的心跳,哨兵就认为主节点宕机了

Ubuntu18.04安装docker、docker-compose、

谁说胖子不能爱 提交于 2020-05-01 10:16:49
Ubuntu18.04下Docker CE安装 Docker版本分为两个: Docker Community Edition (CE) 和 Docker Enterprise Edition (EE) 。Docker CE社区版本适合个人用户使用。 Ubuntu18.04下安装Docker CE有如下几种主要方法,推荐方法一自动安装: 方法一: 1 使用官方脚本自动安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 方法二: 1 通过版本库安装(repository) 1.1 设置版本库 (1)更新系统包索引 sudo apt-get update (2)添加HTTPS协议,允许apt从HTTPS安装软件包 sudo apt-get install apt-transport-https ca-certificates curl software-properties-common (3)添加Docker 公共密钥 Docker 官方源: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add Docker中科大源: curl -fsSL https://mirrors.ustc.edu.cn

使用arthas 生成火焰图分析jvm

孤街浪徒 提交于 2020-04-30 14:04:05
arthas 是阿里巴巴开源的强大的jvm 应该分析工具,以下是使用arthas 生成jvm 火焰图的一个学习 项目使用docker-compose 运行,对于生成的火焰图使用nginx 提供一个访问入口 环境准备 docker-compose 文件 version: "3" services: web: image: openresty / openresty: alpine ports: - "8090:80" volumes: - "./flamegraph:/opt/mywebs" - "./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf" app: build: . / cap_add: - ALL ports: - "8080:8080" volumes: - "./flamegraph:/usr/local/tomcat/arthas-output" tomcat 集成arthas dockerfile FROM tomcat # copy arthas COPY -- from = hengyunabc / arthas: latest / opt / arthas / opt / arthas nginx config worker_processes 1; user root; events {

CloudBeaver docker镜像集成arthas

隐身守侯 提交于 2020-04-30 12:46:32
打算学习下CloudBeaver ,但是无奈CloudBeaver源码基于osgi,同时构建依赖的模块复杂,所以基于arthas 的火焰图功能梳理简单提供一个CloudBeaver 查询的处理流程 dockerfile 基于已经制作好的 FROM dalongrong / cloudbeaver: latest COPY -- from = hengyunabc / arthas: latest / opt / arthas / opt / arthas 环境准备 docker-compose 文件 version: "3" services: cloudbeaver: image: dalongrong / cloudbeaver: arthas build: . / volumes: - "./demos:/opt/demos" ports: - "80:8978" cap_add: - ALL 使用 启动 docker - compose up - d 进入容器生成火焰图 docker - compose exec cloudbeaver sh java - jar / opt / arthas / arthas - boot. jar profiler start - i 200 运行查询 多点几次 停止生成火焰图 profiler stop 效果 打开火焰图 说明

Docker在Windows上运行NetCore系列(一)使用命令控制台运行.NetCore控制台应用

懵懂的女人 提交于 2020-04-29 17:00:26
系列文章: https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Windows:Window 10 Visual Studio:2017 15.8.0 创建项目并添加Dockerfile 在VS2017及以上版本上创建一个控制台项目,这里的名称叫【ConsoleAppDockerWindows2】。 创建DockerFile文件 1)右键项目 --> 选中【添加】 --> 选中【容器业务流程协调程序支持】 2)选择【Docker Compose】 3)目标OS:选择【Windows】 创建后的解析 创建完成后,可以看到项目中多了DockerFile文件,并且也多了docker-compose的项目。我们着重看DockerFile文件,因为此文件是程序运行在Docker中的配置文件。而docker-compose可以删除,其作用是在告诉VS所要运行docker的入口点,并且可以定义多个不同容器中的依赖关系来运行。这里不讲述docker-compose。 因为我们在VS中运行Docker,建议不要删除。 怎么运行呢? 通过命令运行Dockerfile并生成镜像 当完成创建Dockerfile文件后,在控制台可以看到此镜像已经安装在docker里面了。 并且通过 【docker ps -a

解决报错ERROR: Service 'web' failed to build: Get https://registry-1.docker.io/v2/library/pyt...

送分小仙女□ 提交于 2020-04-29 14:07:49
一、问题描述 当我用docker-compose up时,因为需要build Dockerfile文件,出现下面这个错误: ERROR: Service 'web' failed to build: Get https://registry-1.docker.io/v2/library/python/manifests/2.7: net/http: TLS handshake timeout 二、问题解决 1、查看可用的ip地址 [root@docker-node1 compose-flask] # dig @114.114.114.114 registry-1.docker.io ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> @114.114.114.114 registry-1 .docker.io ; ( 1 server found) ;; global options: + cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38727 ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version

docker+gitlab+gitlab-runner部署

删除回忆录丶 提交于 2020-04-28 14:03:47
环境 服务端:centos7 客户端:window 在centos7上部署docker+gitlab+gitlab-runner,win10利用ssh连接,开发人员只需提交代码,就可以进行项目文件上传,打包镜像,发布运行测试 一、centos7上安装docker和docker-compose 安装docker: 1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 通过 uname -r 命令查看你当前的内核版本 $ uname -r 2、使用 root 权限登录 Centos。确保 yum 包更新到最新。 $ sudo yum update 3、卸载旧版本(如果安装过旧版本的话) $ sudo yum remove docker docker-common docker-selinux docker-engine 4、安装需要的软件包, yum-util 提供yum-config-manager功能, 另外两个是devicemapper驱动依赖的 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 5、设置yum源 $ sudo yum-config-manager --add-repo https:/

多台服务器通过docker搭建ELK集群

那年仲夏 提交于 2020-04-27 12:11:22
单机ELK,另外两台服务器分别有一个elasticsearch节点,这样形成一个3节点的ES集群。 可以先尝试单独搭建es集群或单机ELK https://www.cnblogs.com/lz0925/p/12018209.html // 单机ELK https://www.cnblogs.com/lz0925/p/12011026.html // 三节点es集群 注意点 服务器内存:要求不低于8G,如果4G,没有跑其他程序的话,应该也可以,低于4G基本不用考虑。 我的系统:阿里云centOS7.1,执行cat /proc/version 查看linux version,不能低于3.10 服务器列表: 172.168.50.41,172.168.50.40,172.168.50.240(在50.41上搭建ELK,其他两台服务器es节点) 首先安装docker 和 docker-compose # 更新yum yum update # 移除docker旧版本(如果有的话) yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux

Kubernetes容器编排技术浅析

最后都变了- 提交于 2020-04-27 10:51:42
出现的背景 kubernetes是一个容器编排开源软件,它可以轻松高效管理由千上万的主机组成的集群,并提供容器部署运行的环境。 kubernetes最初由Google开发和设计,前身是Borg系统,Google有成千上万的容器运行在上面,主要帮忙Google实现简化开发和管理,并且提供基础设施的资源利用率。再内部稳定运行Borg数十年之久后,随着容器化的大流行,2014年Google开源了kubernetes,一个基于Borg和其它内部系统的开源系统。2015年,Google将kubernetes项目捐赠给了CNCF(云原生计算基金会)。 优势和劣势 优势 1,kubernetes基于Google内部的Borg系统实现,有着长达数十年之久的稳定大规模运行实践经验。 2,Kubernetes提供的是一个平台,不是解决方案,实现容器化应用程序的一次编写并在各类型云基础设施上运行,它将公有云与私有云之间存在的复杂的基础设施差异抽象化掉了。 3,社区活跃多极高,在所有竞争对手中遥遥领先 1,安装部署比较麻烦 2,只能用于容器的编排管理 适用场景 帮助开发聚焦核心应用功能 kubernetes可以被认为是一个集群的操作系统,它提供了注入服务发现,扩容,负载均衡,自恢复,选举等功能,使开发者不用关心基础设施相关的服务而可以把心思都集中再应用实现本身。 帮助运维提升资源利用率

Docker Compose容器编排工具

人走茶凉 提交于 2020-04-27 10:42:04
Docker Compose容器编排工具 一、Docker Compose理论知识 1.1、Compose工具的由来 Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。 ​ 使用前面介绍的Dockerfile文件可以很容易定义一个单独的应用容器。然而在日常开发工作中,经常会碰到需要 多个容器相互配合来完成某项任务的情况。 ​ 例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后端的数据库服务容器;再比如在分 布式应用一般包含若干个服务,每个服务一般都会部署多个实例。 ​ 如果每个服务都要手动启停,那么效率之低、维护量之大可想而知。这时候就需要一个工具能够管理一组相关 联的的应用容器,这就是Docker Compose。 Compose有2个重要的概念: ​ 项目(Project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。 ​ 服务(Service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。 ​ 1.2、docker-compose.yml文件的常用字段 ​ ​ 1.3、Docker Compose常用命令 ​ 基本的使用格式 docker-compose [options] [COMMAND] [ARG...] //docker