Docker - 使用 swarm 部署 services】的更多相关文章

前言 经过之前一段时间学习与思考,我们已经大概明确了一些感念: Docker image/container,  service and node 简单来说,swarm允许我们以节点(node)的方式组织集群(cluster);每个节点上面可以部署一个或者多个服务(service);每个服务又可以包括一个或者多个(container) 在此,我放上Docker官方网站的结构图,方便理解. 创建网络 在部署服务之前,我们首先需要创建网络.Docker 提供了不同的方式供我们创建不同形式的网络.在这…
1docker版本 docker 17.09 https://docs.docker.com/ appledeAir:~ apple$ docker version Client: Docker Engine - Community Version:           18.09.0 API version:       1.39 Go version:        go1.10.4 Git commit:        4d60db4 Built:             Wed Nov …
之前一直用docker-compose开发了几个单例的service, 今天开始压力测试, 结果发现postgres的CPU负载很重, 就想设置cpus 结果发现docker-compose V3之后 只能写在deploy字段里, 但是docker-compose up  却不支持 deploy https://docs.docker.com/compose/compose-file/#deploy 说只能用swarm 模式.  这等于说V3的 docker compose  不能直接设定这个?…
之前介绍了Docker集群管理工具-Kubernetes部署记录,下面介绍另一个管理工具Swarm的用法,Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单. Swarm介绍 Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行为.比如我们常见的蜂群,鱼群,秋天往南飞的雁群都可以称作Swarm behavior. Swarm项目正是这样,通过把多个Docker Engine聚集在一起,形成一个大的docker-engine…
一.Swarm简介 Swarm是Docker的一个编排工具,参考官网:https://docs.docker.com/engine/swarm/ Swarm 模式简介 要在Swarm模式下运行docker,需要先安装docker,参考安装教程 当前版本的docker包含了swarm模式,用于管理docker集群.可以使用命令行来创建swarm集群,部署应用,管理swarm的行为. 如果你使用低于1.12.0版本的docker,可以使用独立模式的是swarm,但是建议使用最新版本 特性 与dock…
承接上篇文章:小白学Docker之Compose,自学网站来源于https://docs.docker.com/get-started 系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm 概念 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创…
(一)节点的创建和配置 前言  虽然工作中一直在用Docker和Docker Swarm,但是总感觉有点陌生,总想自己亲手来写写和配置Docker 容器相关的事情,这篇文章主要是参考了Los Techies 中关于Docker 和 Docker Swarm 的一些内容,然后自己做一个尝试和练习.  本文主要讲的就是使用VirtualBox 来建立 Docker node ,然后组合成 Docker Swarm. 环境配置 因为之前一直是在Linux的环境下操作的,这次是想在家里的Windows上…
  前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此,传统的人工部署已经心有余而力不足.持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环.合理的使用CI,CD能够极大的提高了生产效率,也提高了产品的交互质量.本文不对三个概念做过多的介绍,有兴趣可以读读这篇文章:The Product Managers’ Guide t…
Docker Compose 一键部署LNMP 目录结构 [root@localhost ~]# tree compose_lnmp/ compose_lnmp/ ├── docker-compose.yml ├── mysql │ ├── conf │ │ └── my.cnf │ └── data ├── nginx │ ├── Dockerfile │ ├── nginx-1.12.1.tar.gz │ └── nginx.conf ├── php │ ├── Dockerfile │ ├…
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx_tomcat/ ├── docker-compose.yml ├── mysql │   ├── conf │   │   └── my.cnf │   └── data ├── nginx │   ├── Dockerfile │   ├── nginx-1.12.1.tar.gz │   └─…
Docker Compose 一键部署多节点爬虫程序 目录结构 [root@localhost ~]# tree compose_crawler/ compose_crawler/ ├── centos │ ├── curl.sh │ └── Dockerfile └── docker-compose.yml 1.创建DockerCompose项目目录 mkdir compose_crawler cd compose_crawler/ 2.创建centos管理目录 mkdir centos cd…
Docker Overlay 部署条件 要想使用Docker原生Overlay网络,需要满足以下任意条件: 1.Docker运行在Swarm模式 2.使用键值存储的Docker主机集群 本次部署使用键值存储的Docker主机集群,需要满足以下条件: 1. 集群中主机连接到键值存储,Docker支持Consul.Etcd和Zookeeper: 2. 集群中主机运行一个Docker守护进程: 3. 集群中主机必须具有唯一的主机名,因为键值存储使用主机名来标识集群成员: 4. 集群中Linux主机内核…
  前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此,传统的人工部署已经心有余而力不足.持续集成,持续部署,持续交互对于微服务开发来说,是提高团队整体效率不可或缺的一环.合理的使用CI,CD能够极大的提高了生产效率,也提高了产品的交互质量.本文不对三个概念做过多的介绍,有兴趣可以读读这篇文章:The Product Managers’ Guide t…
最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 一.Docker概述: Docker: 本意是码头工人,言外之意是集装箱: Java号称“一次编译,到处运行”,因为java虚拟机解决平台的兼容性问题,所以有java虚拟机的地方就能跑java代码: Docker是:“一次封装,到处运行”,因为docker决绝了应用环境的问题,安装了docker的平台就能跑“doc…
为什么使用Docker “ 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docker.com 里面的镜像也很方便 节约了很多自己生成镜像的时间 相当于提高了复用率 ” 安装Docker “ 我这里使用 Ubuntu 14.04 系统上安装 ? 1 curl -s https://get.docker.io/ubuntu/ | sudo sh Ubuntu 其他版本可能需要先升级一下内核 详…
RocketMQ(2)-Docker集群部署RocketMQ =前言= 1.因为自己只买了一台阿里云服务器,所以RocketMQ集群都部署在单台服务器上只是端口不同,如果实际开发,可以分别部署在多台服务器上. 2.这里有关 Broker 和 NameServer 分别都做了了集群部署(各部署两个),且BroKer是按两主进行部署. 之所以选用Docker部署主要还是考虑 :通过Docker部署RocketMQ集群更快速,而且对系统的资源利用更好! 之前有写过Liunx如何部署Docker的博客:…
目前在学习这一块的内容,但是可能每个人环境都不同,导致找不到一篇博客能够完全操作下来没有错误的,所以自己也写一下,记录一下整个搭建的过程. Docker 的安装这里就不赘述了,基本上几行命令都可以了,不会的可以搜一下其他的博客.我本地使用的环境如下: Ubuntu16.04 Docker19.03 管理工具:IDEA Docker 插件 下面详细讲一下部署的过程. 前言 阅读这篇博客的朋友关注点应该在 Gitlab CI 上,因此假设大家对 Docker 和 Gitlab 本身是有一定的了解,掌…
rocketmq 部署启动指南-Docker 版   最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# 在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需要提前安装 docker.此外,由于 rocketmq 需要部署 broker 与 nameserver ,考虑到分开部署比较麻烦,这里将会使用 docker-compose. rocketmq 架构图如下: 另外…
开始,第 6 部分:部署应用 先决条件 安装 Docker. 获取第 3 部分先决条件中所述的 Docker Compose. 获取 Docker Machine,如第 4 部分先决条件中所述. 阅读第 1 部分中的方向. 了解如何在第 2 部分中创建容器. 确保通过将friendlyhello镜像推送到注册表来发布您创建的friendlyhello镜像.我们在这里那个使用共享镜像. 确保镜像用作于已部署的容器.运行此命令,在信息中键入username, repo, 和 tag:docker r…
[Swarm] Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源.Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些. Swarm的基本架构如下图所示, 这个图作为一个整体实际上都处于一个所谓的集群中,它可能对应了一到多台的实际服务器.每台服务器上都装有Docker并且开启了基于HTTP的DockerAPI.这个集群中有一个Sw…
1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重装,之前的搭建的所有环境就都白搭了. 再加上之前本身就想引入docker,所以就打算利用docker容器来部署这次的前端应用. 2.构建前端应用 在打包之前,首先需要一个可正常运行的前端应用.这个可以使用umi或者create-react-app来构建. 3.nginx的默认配置文件 然后需要在项目…
Docker Macvlan 应用部署 MacVLAN有两种桥接模式 Bridge模式:不创建子接口的情况下直接去桥接物理接口.直接桥接到与宿主级的同网段. VLAN Bridge模式:创建子接口去桥接物理接口.可划分多个VLAN. Macvlan Bridge模式 容器专属网络 1.节点1节点2操作:创建macvlan网络 docker network create -d macvlan --subnet=172.100.1.0/24 --gateway=172.100.1.1 -o pare…
Docker OpenvSwitch 应用部署 安装部署OVS并建立GRE隧道 节点1:192.168.1.198 容器网段:172.17.1.0/24 节点2:192.168.1.199 容器网段:172.17.2.0/24 1.节点1节点2操作:修改docker 默认IP地址网段,主配置文件内修改配置参数. vim /lib/systemd/system/docker.service # bip参数设置IP地址 指定的是网关. ExecStart=/usr/bin/dockerd --bip…
之前介绍了Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)的操作,多余的废话不说了,下面接着说下在该集群环境下的负载均衡marathon-lb的部署过程: 默认情况下,mesos marathon会把app发布到随机节点的随机端口上,当mesos slaves和app越来越多的时候,想查找某组app就变得困难. mesos提供了两个工具:mesos-dns和marathon-lb,他们俩是mesosphere 官网提供的两种服务发现和负载均衡工具,其中: me…
随着"互联网+"时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及其相关技术的出现和发展,又给大规模集群管理带来了新的想象空间.如何将二者进行有效地结合?下面将记录使用Mesos+Zookeeper+Marathon+Docker分布式部署Paas云平台环境,其中: 1)Mesos:Mesos采用与Linux kernerl相同的机制,只是运行在不同的抽象层次上.Mesos…
对于scrapy的部署方式 1.Scrapyd 安装扩展组件,远程控制scrapy任务,包括部署源代码,启动任务,监听任务.scrapy-client .scrapyd api 协助完成部署和监听操作. 2.Docker集群部署,将爬虫制作成Docker镜像,主机安装Docker,直接运行爬虫,无需考虑配置环境,版本问题. 简述Docker的作用: Docker 是一种容器技术,可将应用和环境打包,形成一个独立的app形式的应用.此应用可以直接被分发到任意一个支持docker的环境中,通过简单的…
docker微服务部署之:六.Rancher管理部署微服务 Rancher有两个特色用起来很方便,那就是扩容和缩容. 一.扩容前的准备工作 为了能直观的查看效果,需要修改下demo_article项目的代码. 修改demo_article项目中ArticleController中的三处代码: 1.注入HttpServletRequest:2在findAll()方法的message参数后面加上request.getLocalAddr(),用于显示从调用的是哪个ip的容器的服务:3.注释掉pom中的…
docker微服务部署之:五.利用DockerMaven插件自动构建镜像 一. 什么是Rancher Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台. Rancher官网:https://rancher.com 二.Docker中下载Rancher镜像并运行 #Rancher镜像下载 $ sudo docker pul…
1. 背景 敏捷开发已经流行了很长时间,如今有越来越多的企业开始践行敏捷开发所提倡的以人为中心.迭代.循序渐进的开发理念.在这样的场景下引入Docker技术,首要目的就是使用Docker提供的虚拟化方式,给开发团队建立一套可以复用的开发环境,让开发环境可以通过Image的形式分享给项目的所有开发成员,以简化开发环境的搭建.但是,在没有Docker技术之前就已经有类如Vagrant的开发环境分发技术,软件开发者一样可以创建类似需求的环境配置流程.所以在开发环境方面,Docker技术的优势并不能很好…
docker微服务部署之:四.安装docker.docker中安装mysql和jdk1.8.手动构建镜像.部署项目 在上一篇文章中,我们是手动构建镜像,即: 4.1.2.5.1.2.6.1.2中的将demo_xxx项目打包成app.jar 4.1.4.5.1.4.6.1.4中的: a:创建mydocker目录.上传app.jar至mydocker目录 b:执行docker build命令构建镜像 其实以上步骤,都是很繁琐的操作.可利用DockerMaven插件自动构建镜像. 至于要部署微服务项目…