Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Docker Swarm

Docker Swarm

作者头像
叔叔
发布于 2018-07-25 02:00:15
发布于 2018-07-25 02:00:15
1K00
代码可运行
举报
文章被收录于专栏:叔叔的博客叔叔的博客
运行总次数:0
代码可运行

学习资料

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/yeasy/docker_practice/blob/master/SUMMARY.md
https://www.cnblogs.com/ityouknow/p/8903975.html

一、搭建集群

  1. 连接虚拟机

docker-machine ls, 看看有没有虚拟主机,没有就Docker Machine创一个

docker-machine create --driver virtualbox vm

docker-machine ssh vm

  1. 初始化swarm集群
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker swarm init --advertise-addr 193.112.12.253

不出意外会报下面的错

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Error response from daemon: --live-restore daemon configuration is incompatible with swarm mode

不慌

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 vi /etc/docker/daemon.json
 ```
 改掉 "live-restore": 为false就行。
 然后重启docker,service docker restart
 ```
 To add a worker to this swarm, run the following command:
    docker swarm join \
    --token SWMTKN-1-22aiuetma7nc9tbffzuv8wihx8mpk8v7g8anwt89wwsvm9sk6p-4bjhrdf9ftiuwvkfmw56dkdus \
    193.112.12.253:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

记住这个命令,后面加节点会用。

  1. 查看集群节点信息
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker node ls
  1. 再加个节点

因为我只有一个服务器,没法使用集群了。。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-machine create -d generic --generic-ip-address=193.112.12.254  --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root vm2

进入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker-machine ssh vm2

然后加入集群

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker swarm join \
    --token SWMTKN-1-16l5rdxr3vcof94rux1035p4mekzoaueea49btdsudrhqibnuw-7g93ahno5a6v1tyesipi5bjp6 \
    193.112.12.253:2377
  1. 查看集群

进入管理节点,docker-machine ls

没问题的话,会看到几个类似这样的

这样子集群就搭好了,下面开始部署服务

二、部署服务

使用中国镜像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker search alpine 
docker pull registry.docker-cn.com/library/alpine
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker service create --replicas 1 --name helloworld alpine ping ihboo.com
docker service ps []查看服务运行情况
docker service ls 查看运行的服务

监控服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker service inspect --pretty helloworld

进入子节点,查看服务 docker ps,可以看到运行的服务。

这样子,多环境部署就很方便了,初步发现docker的很棒的地方。

三、服务调整

  1. 实例数量
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker service update --replicas 2 helloworld
docker service ps helloworld

可以看到有两个节点在运行服务

现在修改只要一个实例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker service update --replicas 1 helloworld

然后发现只有一个实例了。

好方便。

集群节点的添加删除也很方便,join rm。

四、使用docker-compose启动

之前的docker-compose文件,使用这个文件启动多个服务

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: '3.0'
services:
  eureka:
    image: docker/eureka
    container_name: eureka
    ports:
      - "1110:1110"
  gateway:
    image: docker/gateway
    ports:
      - "2000:2000"
    links:
      - eureka
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8081:8081"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]

visualizer是可视化页面,可以ip:8081访问部署情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker stack deploy -c docker-compose.yml cloud
docker stack ls
docker stack down 移除服务
docker stack services cloud 查看服务

五、疑问

  1. 做集群,必须要不同的服务器吗,不能多个端口启动吗?
  2. 实际使用流程?jenkins是制作镜像,然后push到hub上,master拉镜像,放上去Dockerfile文件,然后master启动这样子?
  3. 容器云?
  4. k8s?
  5. to be continued…
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叔叔的博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker(六):Docker 三剑客之 Docker Swarm
实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行。然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择呢?它们之中,Swarm 是 Docker 原生的,同时也是最简单,最易学,最节省资源的,比较适合中小型公司使用。 Docker Swarm 介绍 Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker
纯洁的微笑
2018/06/13
8460
小白学Docker之Swarm
承接上篇文章:小白学Docker之基础篇,自学网站来源于https://docs.docker.com/get-started 系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm 概念 Docker Swarm 和 Docker Compose 一样,都是 Docker 官方容器编排项目,但不同的是,Docker Compose 是一个在单个服务器或主机上创建多个容器的工具,而 Docker Swarm 则可以在多个服务器或主机上创建容器集群服务,对
糊糊糊糊糊了
2018/05/09
1.1K0
小白学Docker之Swarm
Docker Swarm——集群管理
前言 之前在总结docker machine的时候,当时对docker理解还不够深入,甚至还不知道 docker machine 与 docker swarm 的区别。 在查阅资料以及官方文档之后,今天基本彻底搞明白了。其实 docker machine 只是一个docker多节点的管理工具,它的作用是帮助我们在其他节点上安装docker、运行docker容器等;而 docker swarm 则是一个docker集群管理工具,有了它整个集群就能协同工作,从容器的角度来说有点像是openstack的感觉,能够
魏守峰
2018/04/28
9780
「走进k8s」Docker三剑客之Docker Swarm(九)
PS:这就是我们的服务编排,都是在三个节点,所谓的编排就是将多个节点变成一个节点来使用,接下来讲的k8s要把docker swarm功能要强大很多,当然也要复杂很多。docker的基本命令一样掌握好!后面说k8s才不会那么吃力,遇到问题了才知道如何解决。
IT架构圈
2019/08/06
1.2K0
「走进k8s」Docker三剑客之Docker Swarm(九)
Docker Swarm 零基础入门
Docker Swarm 是 Docker 官方项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案。使用它,用户可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。
羽月
2022/10/08
1.2K0
Docker Swarm 零基础入门
Docker Swarm 集群管理
Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
用户8647142
2021/07/30
5490
容器集群管理工具 Docker Swarm
《Docker 镜像仓库基本使用》中有提到容器编排工具 docker compose ,不过只限于单机。
王二蛋
2024/05/04
2300
【愚公系列】2022年01月 Docker容器 Swarm集群管理
Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。
愚公搬代码
2022/12/01
3980
【愚公系列】2022年01月 Docker容器 Swarm集群管理
使用Docker三剑客部署集群
DOCKER技术在推出后掀起了一阵容器化技术的热潮,容器化使得服务的部署变得极其简易,这为微服务和分布式计算提供了很大的便利。
Marky Lumin
2018/01/23
2K0
Docker Swarm部署集群
Swarm是Docker的一个编排工具,参考官网:https://docs.docker.com/engine/swarm/
py3study
2020/03/05
3.7K0
Docker Swarm部署集群
Docker 集群管理 - Swarm模式
Docker Swarm和Docker Compose都是由Docker官方提供的容器编排工具。它们之间的区别在于,Docker Compose主要用于在单个服务器或主机上创建多个容器,而Docker Swarm则可以在多个服务器或主机上创建容器集群服务。特别是在微服务的部署场景下,Docker Swarm显然更为适用,因为它能够实现在分布式环境中轻松管理和扩展容器服务。
崔哥
2024/01/26
1480
DockerSwarm 集群环境搭建
Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令。目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具。它可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络。
程序员果果
2019/05/28
7680
4.Docker学习之进阶使用
描述: 本章主要学习与记录了在进一步学习Docker容器中的一些基础名称解析与Docker与一些辅助软件配合使用来增加工作效率以及简化运维流程;
全栈工程师修炼指南
2022/09/28
1.6K0
4.Docker学习之进阶使用
Docker Swarm mode 详解
使用 docker swarm Dcoker 内置的集群管理的工具,Docker CE 1.12+。注意与旧的 Docker Swarm 区分开来。 OS: CoreOS 1562.1.0 3个节点 OS: macOS + Docker Machine Docker Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令 docker swarm。 有关集群的 Docker 命令如下:
康怀帅
2018/02/28
2.4K0
第二章 Docker编排工具
docker machine是一个便于在多平台上部署Docker的一个工具;多平台比如:
公众号: 云原生生态圈
2021/11/15
3990
Docker 小记 — Compose & Swarm
前言 任何相对完整的应用服务都不可能是由单一的程序来完成支持,计划使用 Docker 来部署的服务更是如此。大型服务需要进行拆分,形成微服务集群方能增强其稳定性和可维护性。本篇随笔将对 Docker
捷义
2018/05/14
1.8K0
docker--搭建docker swarm集群
Swarm这个项目名称特别贴切。在Wiki的解释中,Swarm behavior是指动物的群集行 为。比如我们常见的蜂群,鱼群,秋天往南飞的雁群都可以称作Swarm behavior。 Swarm项目正是这样,通过把多个Docker Engine聚集在一起,形成一个大的docker- engine,对外提供容器的集群服务。同时这个集群对外提供Swarm API(命令,docker engine的命令),用户可以像使用Docker Engine一样使用Docker集群。
eadela
2019/11/26
1.1K0
【Docker系列】Docker Swarm 集群 (swarm,可视化容器管理工具 Portainer)
Swarm 现在有三台 linux服务器。对应的公网Ip和主机名称 56.111.111.100 master 56.111.111.101 slave1 56.111.111.102 slave2 三台 分别需要安装 docker环境 安装docker 如果需要修改主机的名称,那修改 服务器的 主机名,命令: hostnamectl set-hostname 新的主机名 修改 三台主机的 docker.service 文件 vim /lib/systemd/system/docker.service
shutiaoya
2022/06/17
7950
【Docker系列】Docker Swarm 集群 (swarm,可视化容器管理工具 Portainer)
Docker三剑客
本文主要介绍了Docker Swarm是Docker容器的集群管理和编排工具,它能够管理和协调多个Docker容器实例,并确保应用程序的可用性和可靠性。Docker Swarm支持水平扩展和自动负载均衡,并提供了声明式编排,使得用户可以轻松管理和维护多个Docker容器。它还提供了基于Docker的轻量级虚拟机,用于部署、扩展和管理容器。在本文中,我们首先介绍了Docker Swarm的基本概念和架构,然后详细讲解了Docker Swarm的常用命令和操作,包括创建、启动、停止、滚动更新和监控等。最后,我们提供了一些实践案例,以帮助读者更好地理解和应用Docker Swarm。
shaonbean
2018/01/02
3.2K3
Docker三剑客
docker-swarm
使用 label可以精细控制 Service 的运行位置呢。 逻辑分两步: 1、为每个 node 定义 label。 2、设置 service 运行在指定 label 的 node 上。
用户10325771
2023/03/01
6190
相关推荐
Docker(六):Docker 三剑客之 Docker Swarm
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验