swarm

31. docker swarm 通过 service 部署 wordpress

人走茶凉 提交于 2019-11-28 01:00:43
1. 创建 一个 overlay 的网络 driver   docker network create -d overlay demo   查看网络列表     docker network ls 2. 创建mysql 的服务   docker service create --name mysql --env MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=wordpress --network demo --mount type=volume,source=mysql-data,destination=/var/lib/mysql mysql:5.7.27   其中     --mount (类似与 volume) type=volume (mount的类型为 volume),source=mysql-data (本地存储数据的位置在 mysql-data内) ,destination=/var/lib/mysql(service 内 存储数据的位置在 /var/lib/mysql)   查看 mysql 镜像  (发现mysql 可拓展 并且 运行在本地 docker-host 上)     docker service ls     docker service ps mysql 3. 创建 wordpress 的 service

29. docker swarm 创建 三个节点 swarm 的集群

痞子三分冷 提交于 2019-11-27 21:45:32
1.使用 vagrant 部署 三台 centos/7 的 环境 /*--> */ /*--> */ ###Vagrantfile # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.require_version ">= 1.6.0" boxes = [ { :name=>"docker-host" , :eth1=>"192.168.205.10" , :mem=>"1024" , :cpu=>"1" , :port=>"8888" } , { :name=>"docker-node1" , :eth1=>"192.168.205.11" , :mem=>"1024" , :cpu=>"1" , :port=>"8889" } , { :name=>"docker-node2" , :eth1=>"192.168.205.12" , :mem=>"1024" , :cpu=>"1" , :port=>"8890" } ] Vagrant.configure (2 ) do |config| config.vm.box = "centos/7" boxes.each do |opts| config.vm.define opts [:name ] do |config| config.vm.hostname = opts [:name

28. docker swarm 容器编排简介

不打扰是莪最后的温柔 提交于 2019-11-27 21:40:33
1.采用集群架构   集群架构包含节点和角色     docker 节点中 包含 worker 和 manager 两个角色     manager 相当于 swarm 集群的 大脑 是用来管理配置节点的 (避免单点故障 最少有两个节点, 不同节点的数据同步 使用内置的 raft 协议进行同步, 使 manager 节点的数据节点同步)     work 大部分运行的 容器 (通过 gossip 网络进行数据同步) 2. Service 和 Replicas service   一个 service 代表一个容器 replicas   横向拓展时 , replicas 会复制 service 的 容器进行 3. swarm 模式 下 service 的调度过程 来源: https://www.cnblogs.com/zonehoo/p/11378608.html

Portainer实战

匆匆过客 提交于 2019-11-27 15:12:45
Portainer是一个轻量级的Docker环境管理UI,可以管理docker host和docker swarm(我主要看中了能管理swarm这个,毕竟市面上能管理swarm的平台不多)。之所以说是轻量级的,是因为部署只有一个container,也可以使用二进制程序直接部署,不像rancher的部署,部署了一大堆container,而且portainer是跨平台的,windows和linux都可以部署,废话不多说,直接开干.... 环境 ubuntu16.04-1 swarm manager portainer ubuntu16.04-2 swarm works portainer agent ubuntu16.04-3 swarm works portainer agent ps:环境还是之前文章的swarm集群环境 部署 独立容器启动 docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /path/on/host/data:/data portainer/portainer ps:portainer的数据存储在容器内部的/data目录,这样容器重启的时候数据会丢失,所以要确保数据持久化 docker run -d

什么是容器编排?

﹥>﹥吖頭↗ 提交于 2019-11-27 15:01:42
什么是容器编排? 应用一般由单独容器化的组件(通常称为微服务)组成,且必须按顺序在网络级别进行组织,以使其能够按照计划运行。以这种方法对多个容器进行组织的流程即称为容器编排。 容器编排定义 在现代开发当中,整体式的应用早已成为过去时,如今的应用由数十乃至数百个松散结合的容器式组件构成,而这些组件需要通过相互间的协同合作,才能使既定的应用按照设计运作。容器编排是指对单独组件和应用层的工作进行组织的流程。 容器编排的工作原理是什么? 虽然诸如 Apache Mesos、Google Kubernetes 以及 Docker Swarm 等平台均有其特定的容器管理方法,但所有的容器编排引擎均可让用户控制容器启动和停止的时间、将其分组合到群集中,以及协调应用组合的流程。容器编排工具允许用户指导容器部署与自动更新、运行状况监控以及故障转移等步骤。 容器编排初探:探索Docker swarm mode、Kubernetes和Mesosphere 下文首先介绍了容器技术的基础知识,说明了容器技术的前景和市场份额。容器技术的重点之一是容器的管理编排。作者介绍了三种编排工具的共同特点和各自的特性。表明企业应该根据自身需求来选择使用那一款工具或者混合使用。 容器,提供轻量化打包应用的方式,是任何DevOps的重要组成部分。但是你准备如何管理这些容器?现有的容器编排程序-- Kubernetes 、

Docker 创建swarm overlay网络

女生的网名这么多〃 提交于 2019-11-27 03:38:38
Docker 创建swarm overlay网络 依赖 更改hostname 创建overlay网络 测试overlay网络连通性 依赖 准备三台虚拟机vm1,vm2,vm3。三台机器在同一个eth中。 操作系统:CentOS 7.6 安装Docker(点击) 更改hostname #vm1 hostnamectl set-hostname vm1 service docker restart #vm2 hostnamectl set-hostname vm2 service docker restart #vm3 hostnamectl set-hostname vm3 service docker restart 查看hostname service node ls 结果 ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION brjg2ltw1sv4dihlxjr6tkojp * vm1 Ready Active Leader 19.03.1 7eawdhzcvb1vx2gj7nr3fuge5 vm2 Ready Active 19.03.1 sp8taco3e5qivv26dy8a0jm57 vm3 Ready Active 19.03.1 创建overlay网络 在vm1上创建overlay网络

故障公告:docker swarm集群“群龙无首”造成部分站点无法访问

匆匆过客 提交于 2019-11-27 02:09:20
今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成 博问 、 闪存 、 园子 、 小组 、openapi 无法正常访问,由此给您带来麻烦,请您谅解。 目前我们已经迁移至 asp.net core 的站点都部署在 docker swarm 集群上,节点用的是阿里云服务器,操作系统是 ubtunu 16.04 ,docker engine 版本是 17.06.0-ce, build 02c1d87 。 今天出故障期间,我们在进行节点变更的操作。操作前集群只有 3 个 manager 节点,没有 worker 节点,变更的目标是调整为 5 个节点,其中 3 个 manager ,2 个 worker ,变更的方式是减 1 个节点加 3 个节点(这 3 台服务器配置高,需要升级为 manager)。 具体的变更操作是这样的,第 1 个操作是 docker node demote node1 将已有的一个 manager 节点降级为 worker , docker swarm leave 退出集群, docker node rm node1 移除节点,这个节点是减掉的那个节点。然后,新增的服务器直接 docker swarm join --token manager_token

Powered by .NET Core 进展:用 docker-compose 验证高并发问题嫌疑犯 docker swarm

浪尽此生 提交于 2019-11-26 23:53:48
相关博文: 【故障公告】发布 .NET Core 版博客站点引起大量 500 错误 【网站公告】.NET Core 版博客站点第二次发布尝试 暴风雨中的 online : .NET Core 版博客站点遭遇的高并发问题进展 抱歉,.NET Core 版博客系统(博客后台除外)的发布给大家带来麻烦了,我们正在一边忙着修各种 bug ,一边排查访问高峰高并发性能问题。 对于发布后遇到的高并发性能问题,我们一点都没去怀疑 .net core ,我们怀疑的是 docker swarm ,怀疑在高并发下 docker swarm 网络性能急剧下降,而且极不稳定。 对比新旧版博客系统所消耗的服务器资源,差距之大让人乍舌。同样的并发,之前基于 .net framework 的旧版博客系统用 6台4核8G 的阿里云 windows 服务器就能撑住,而现在基于 docker swarm + .net core 的新版博客系统用 6台8核16G 的阿里云 centos 服务器都撑不住。 为了验证我们对罪魁祸首 docker swarm 的怀疑,我们今天已经将 .net core 版博客系统改用 docker-compose 部署: version: '3.7' services: web: image: blog-web restart: always deploy: replicas: 1

虚拟化容器技术:Docker

别来无恙 提交于 2019-11-26 19:48:49
虚拟化容器技术:Docker 一、简介 二、安装Docker 在ubuntu下安装docker非常简单,只需要一条命令即可 sudo apt update sudo apt install -y docker.io apt安装的已经自动设置为开机自启 在centos7中使用可以使用以下命令 sudo yum update sudo yum install –y docker sudo systemctl enable docker sudo systemctl start docker #上面命令安装的docker版本是1.13.1 安装最新发行版使用以下命令 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce 由于在linux下我们一般不是使用root账号登录,运行docker会有权限问题,需要对当前用户赋予docker的权限 sudo groupadd docker #创建docker用户组 sudo gpasswd -a $USER docker #将当前用户加入docker用户组

Docker学习(21)——Docker 三剑客之 Docker Swarm集群(手动搭建、拉伸、缩减、集群监控、global模式、滚动更新服务)

倾然丶 夕夏残阳落幕 提交于 2019-11-26 17:50:34
1.基本概念 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目 但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具 而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对于微服务的部署,显然 Docker Swarm 会更加适合 从 Docker 1.12.0 版本开始,Docker Swarm 已经包含在 Docker 引擎中(docker swarm),并且已经内置了服务发现工具 我们就不需要像之前一样,再配置 Etcd 或者 Consul 来进行服务发现配置了 使用docker-compose部署集群实现负载均衡的时候,我们使在一台主机上面做的,不可以动态的拉神web服务的数量 因为使用docker-compose不满足实际生产环境的要求,因此不需要使用docker-compose了 实际当中我们的web(rs)服务器是要随着业务的增加而增加的 因此使用daoker内置的swarm集群来实现 swarm要求docker-compose必须v3版本以上 swarm自带docker stack会替代docker-compose 其实docker-machine+docker-swarm,就可以实现自动部署docker和自动实现各种功能 2.Docker swarm的好处