docker之Compose与DockerSwarm

目录

Compose

简介

概念

为什么需要?

配置字段

常用命令

安装

1.下载

2.授权

使用

1.创建文件

2.启动

docker Swarm

关键概念

调度策略

spread

binpack

random

特性

集群部署

1.准备

2.创建swarm并添加节点

在主服务器上创建swarm集群

节点加入集群

查看节点信息


Compose

简介

        Docker Compose是一个用于定义和运行多个Docker容器的工具。它允许用户使用YML文件来配置应用程序需要的所有服务,然后使用一个命令,就可以从YML文件配置中创建并启动所有服务。Docker Compose简化了Docker容器的管理和部署过程,使容器管理变得更加高效和可靠

概念

docker-compose将所管理的容器分为三层:工程、服务、容器

        工程:docker-compose运行目录下的所有文件(docker-compose.yml文件、extends文件或环境变量等)组成一个工程,如无特殊指定,工程名即为当前目录名

        服务:可以包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖

        容器:一个服务中可以包括多个容器实例,docker-compose并没有解决负载均衡的问题

docker-compose的工程配置文件默认为docker-compose.yml

为什么需要?

就是来管理多个容器的,定义启动顺序的,合理编排,方便管理

配置字段

常用命令

运行这些命令需要结合docker-compose一起使用。

且必须要在含有docker-compose.yml文件的目录中才可以使用,不然报错

  • docker-compose up:启动Compose服务。
  • docker-compose start:重新启动已停止的Compose服务。
  • docker-compose stop:停止Compose服务。
  • docker-compose rm -f:删除已停止的Compose服务。
  • docker-compose ps:列出Compose服务中的各个容器
  • docker-compose build:重新构建服务
  • docker-compose exec:在容器里面执行命令
  • docker-compose scale:指定一个服务容器启动数量
  • docker-compose top:显示正在运行中的容器进程
  • docker-compose logs:查看服务容器的输出
  • docker-compose down:删除容器、网络、数据卷和镜像

安装

docker-compose是docker的独立产品,因此需要安装docker之后再单独安装docker compose

1.下载

curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2.授权

给他一个执行权限

sudo chmod +x /usr/local/bin/docker-compose

使用

docker-compose通过docker-compose编写yaml配置文件、可以通过compose一键启动所有服务,停止

1.创建文件

项目根目录下创建一个名为docker-compose.yml的文件

version: '3'  
services:  
  app:  
    build:  
      context: .  
      dockerfile: Dockerfile  
    ports:  
      - 8080:8080  
  db:  
    image: mysql  
    ports:  
      - 3306:3306

2.启动

项目根目录下使用命令:docker-compose up

docker Swarm

Swarm是Docker公司推出的用来管理docker集群的平台;多台服务器搭建一个docker集群,每个服务器就是集群中的一个节点。

关键概念

swarm :集群管理工具

node :节点,一个节点就是docker集群中的一个实例,我们可以在单台服务器上运行一个或多个节点。

service :应用编排

task : 应用实例

从集群角度来说,一个 Swarm 由一个或多个 Docker 节点组成。这些节点可以是物理服务器、虚拟机、树莓派(Raspberry Pi)或云实例。唯一的前提就是要求所有节点通过可靠的网络相连

调度策略

swarm在调度(scheduler)节点(leader节点)运行容器的时候,会根据指定的策略来计算最适合运行容器的节点,目前支持的策略有:spread,binpack,random

spread

          选择运行容器最少的那台节点来运行新的容器;使用Spread策略会使得容器会均衡的分布在集群中的各个节点上运行,一旦一个节点挂掉了只会损失少部分的容器

binpack

        最大化的避免容器碎片化,就是说binpack策略尽可能的把还未使用的节点留给需要更大空间的容器运行,尽可能的把容器运行在一个节点上面

random

        就是随机选择一个Node来运行容器,一般用作调试用

特性

        1.强大的集群容错性

        2.服务节点的可拓展性

集群部署

1.准备

准备3台服务器,并安装好docker

yum -y install docker

修改3台服务器主机名

关闭3台服务器防火墙

2.创建swarm并添加节点

在主服务器上创建swarm集群

docker swarm init --advertise-addr 192.168.21.142
Swarm initialized: current node (qcjc4vkza2nr4uj2p1fwvpx4e) is now a manager.

节点加入集群

在两台节点服务器上执行以下命令,将服务器加入到swarm集群,作为集群的节点使用

 docker swarm join --token SWMTKN-1-4kdb7ysckerhxc6gxc3bpltkxtm8o45yq1ikyv1kie825zibhh-bhwazb9y8i3s92v8mpv5c06so  192.168.21.142:2377

查看节点信息

docker info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/102502.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV中QR二维码的生成与识别(CIS摄像头解析)

1、QR概述 QR(Quick Response)属于二维条码的一种,意思是快速响应的意思。QR码不仅信息容量大、可靠性高、成本低,还可表示汉字及图像等多种文字信息、其保密防伪性强而且使用非常方便。更重要的是QR码这项技术是开源的,在移动支付、电影票、…

分布式锁 总结

分布式锁 在应用开发中,特别是web工程开发,通常都是并发编程,不是多进程就是多线程。这种场景下极易出现线程并发性安全问题,此时不得不使用锁来解决问题。在多线程高并发场景下,为了保证资源的线程安全问题&#xff0…

深度学习基础

文章目录 1. 数学基础1.1 标量和向量1.2 向量运算1.3 矩阵1.4 张量1.5 导数 2. numpy常用操作3. 梯度下降算法4. 反向传播4.1 完整的反向传播过程4.2 代码演示 5. 网络结构 -- 全连接层6. 激活函数6.1 激活函数-Sigmoid6.2 激活函数-tanh6.3 激活函数-Relu6.4 激活函数-Softmax…

Linux权限

Linux中一切皆文件,那么文件就应该有相对于的类型,而在Linux当中,类型不是直接看后缀来决定的。 -普通文件、文本、可执行、归档文件等d目录b块设备、block、磁盘c字符设备、键盘、显示器p管道文件s网络socket文件l链接文件 link 然后后面的九…

2023年京东儿童智能手表行业数据分析(京东销售数据分析)

儿童消费市场向来火爆,儿童智能手表作为能够实现定位导航,信息通讯,SOS求救,远程监听,智能防丢等多功能的智能可穿戴设备,能够通过较为精准的定位功能和安全防护能力保障儿童的安全,因而广受消费…

Oracle字段长度不足位数补零

Oracle字段长度不足位数补零 有时候从数据库中取出的月份值是1&#xff0c;而不是01&#xff0c;该怎么办呢 SELECTLPAD( CODE_MONTH, 2, 0 ) FROMtb_cube_TY001 WHERECODE_BM_MEATYPE TY20 AND code_measure MYLX01 AND code_month <> ~ AND CODE_ENTITY 01A AND…

k8s 安装istio (一)

前置条件 已经完成 K8S安装过程十&#xff1a;Kubernetes CNI插件与CoreDNS服务部署 部署 istio 服务网格与 Ingress 服务用到了 helm 与 kubectl 这两个命令行工具&#xff0c;这个命令行工具依赖 ~/.kube/config 这个配置文件&#xff0c;目前只在 kubernetes master 节点中…

Centos 7 安装系列(8):openGauss 3.0.0

安装依赖包&#xff1a; yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel openssl-devel sqlite-devel libnsl 安装插件&#xff1a; yum install -y bzip2 net-tools为什么要安装这两个&#xff1f; 安装bzip2 是…

Ansible 创建使用角色

使用 Ansible Galaxy 和要求文件 /ansible/roles/requirements.yml 。从以下 URL 下载角色并安装到 /ansible/roles &#xff1a; http://materials/haproxy.tar 此角色的名称应当为 balancer http://materials/phpinfo.tar 此角色的名称应当为 phpinfo #创建 vim /ansible/r…

Wlan——锐捷零漫游网络解决方案以及相关配置

目录 零漫游介绍 一代零漫游 二代单频率零漫游 二代双频率零漫游 锐捷零漫游方案总结 锐捷零漫游方案的配置 配置无线信号的信道 开启关闭5G零漫游 查看配置 零漫游介绍 普通的漫游和零漫游的区别 普通漫游 漫游是由一个AP到另一个AP或者一个射频卡到另一个射频卡的漫…

工程管理与工作流

1 统一开发环境/ 协作工具 你知道开发环境指的是什么吗&#xff1f; 开发环境&#xff1a; 工程运行环境、开发工具/ 编辑器 、开发依赖环境、 配置文件 软件环境&#xff1a; “仿真预演”环境 Staging 生产环境前最终验证、 这一环境尽可能的仿真了真实的生产环境 、另一个…

MinIO线上扩容实战

硬件投入肯定是随着业务的增长而增长&#xff0c;这就要求中间件平台必须提供水平伸缩机制&#xff0c;MinIO对象存储服务也不例外&#xff0c;本文就详细介绍MinIO的扩容。 Minio支持通过增加新的Server Pool来扩容老的集群。每个Server Pool都是一个相对独立的故障域&#x…

SpeedBI数据可视化工具:浏览器上做分析

SpeedBI数据分析云是一种在浏览器上进行数据可视化分析的工具&#xff0c;它能够将数据以可视化的形式呈现出来&#xff0c;并支持多种数据源和图表类型。 所有操作&#xff0c;均在浏览器上进行 在浏览器中打开SpeedBI数据分析云官网&#xff0c;点击【免费使用】进入&#…

SQL Monitor Crack,PostgreSQL监控的传入复制图表

SQL Monitor Crack,PostgreSQL监控的传入复制图表  现在&#xff0c;您可以在从Estate页面导出的Microsoft Excel报告的摘要标题中看到UTC偏移量。 添加了PostgreSQL监控的传入复制图表。 Microsoft PowerShell API现在支持将使用New-SqlMonitorWindowsHost和New-SqlMonitorin…

【脚踢数据结构】图(纯享版)

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的…

vellum (Discovering Houdini VellumⅡ柔体系统)学习笔记

视频地址&#xff1a; https://www.bilibili.com/video/BV1ve411u7nE?p3&spm_id_frompageDriver&vd_source044ee2998086c02fedb124921a28c963&#xff08;搬运&#xff09; 个人笔记如有错误欢迎指正&#xff1b;希望可以节省你的学习时间 ~享受艺术 干杯&#x1f37b…

STP知识点总结

目录 一.什么是STP协议 二.STP生成树协议产生的原因 三. STP生成树协议涉及的算法 一.802.1D 二.PVST 三.PVST 四. 快速生成树 五.MSTP 一.什么是STP协议 在一个二层交换网络中&#xff0c;生成一棵树型结构&#xff0c;逻辑的阻塞部分接口&#xff0c;使得从根到所有的…

深度学习入门(三):卷积神经网络(CNN)

引入 给定一张图片&#xff0c;计算机需要模型判断图里的东西是什么&#xff1f; &#xff08;car、truck、airplane、ship、horse&#xff09; 一、卷积神经网络整体架构 CONV&#xff1a;卷积计算层&#xff0c;线性乘积求和RELU&#xff1a;激励层&#xff0c;激活函数P…

【欧拉计划】偶数斐波那契数

题目链接&#xff1a;偶数斐波那契数 解法一&#xff1a;暴力枚举 看见题目&#xff0c;第一反应就是先找到小于400万的所有斐波那契数&#xff0c;再从这些斐波那契数中筛选出偶数进行求和。 由于递归方法求斐波那契数的时间复杂度较高&#xff0c;故这里采用迭代的方法。 先…

谈谈对 GMP 的简单认识

犹记得最开始学习 golang 的时候&#xff0c;大佬们分享 GMP 模型的时候&#xff0c;总感觉云里雾里&#xff0c;听了半天&#xff0c;并没有一个很清晰的概念&#xff0c;不知 xmd 是否会有这样的体会 虽然 golang 入门很简单&#xff0c;但是对于理解 golang 的设计思想和原…