docker之Compose与DockerSwarm

news2024/10/6 12:32:26

目录

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.coloradmin.cn/o/916496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

肘部法则和轮廓系数(用于确定簇类数目)

知识储备 无监督聚类缺点 聚类不同于其他常见机器学习有监督方法,聚类为一种无监督学习方法,原理为随机选取K个质心(K为确定聚类的数目),计算距离质心最近的样本点,不断迭代更新质心。不断地将样本点划分…

Vue 项目布署后,刷新页面(或跳转页面)出现 404 解决办法

Vue 项目布署后,刷新页面(或跳转页面)出现 404 问题背景为什么会出现404解决办法(两种)方法一:改变服务器配置方法二:改变路由模式 单页应用(SPA)概念 问题背景 今天重新部署一个vue项目的时候…

途牛科技与火山引擎数智平台合作 打造企业大数据系统“降本”新范式

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,南京途牛科技有限公司与火山引擎数智平台(VeDI)的合作获得新进展:途牛大数据系统全面迁移至火山引擎开源大数据…

vue页面转pdf后分页时文字被横向割裂

效果 预期效果 //避免分页被截断async outPutPdfFn (id, title) {const _t this;const A4_WIDTH 592.28;const A4_HEIGHT 841.89;// dom的id。let target document.getElementById(pdf);let pageHeight target.scrollWidth / A4_WIDTH * A4_HEIGHT;// 获取分割dom&#xf…

Spring Boot 整合MyBatis(超详细)

😀前言 本篇博文关于Spring Boot 整合MyBatis,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&#x…

wazuh初次理解-8-23

一、wazuh配置: 1、进入官网下载OVA启动软件: Virtual Machine (OVA) - Installation alternatives 2、进入虚拟机进行配置: 3、登录提示: 4、将网络连接模式更改为NAT,否则不能上网; 4、重启网络&#…

Rabbitmq配置调优

1、参数调优 queue_index_embed_msgs_below: 控制消息的存储位置。是独立存储到msg_store中,还是嵌入消息的索引一并存储。默认值是4096(字节),即小于4KB的消息会嵌入到消息索引中一并存储。**注:**4KB包括…

电气器件系列四十二:线性直流稳压电源

线性稳压电源是比较早使用的一类直流稳压电源。根据调整管的工作状态,我们常把稳压电源分成两类:线性稳压电源和开关稳压电源。线性稳压直流电源的特点是:输出电压比输入电压低;反应速度快,输出纹波较小;工…

ast在python架构中的使用

AST学习 AST简介: AST(Abstract syntac tree)是编译原理中的概念,是对源代码语法结构的一种抽象表示,它以树的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。 下面的代码展示了以demo.py中的ast语法&…

实景无人直播小白如何操作?抖音/直播带货/实况

在当今数字娱乐领域实景无人直播系统成为了一种备受关注的娱乐方式。这种系统能够将真实场景以实时视频的形式传输到用户终端,让用户可以身临其境地观赏各种精彩的场景。本文将深入探讨实景无人直播系统的操作指南,旨在为读者提供专业性、思考深度和逻辑…

简单版的数组实现哈希表

package com.wei.mybatisflex;import java.util.ArrayList; import java.util.List;/*** 用数组实现哈希表*/ public class ArrayToHash {/*** 键值对定义*/class Pair{private int key;private String val;public Pair(int key, String val) {this.key key;this.val val;}}p…

java八股文面试[数据结构]——HashMap和HashTable区别

HashMap源码中的重要常量 DEFAULT_INITIAL_CAPACITY: HashMap的默认容量,16 MAXIMUM_CAPACITY: HashMap的最大支持容量,2^30 TREEIFY_THRESHOLD:Bucket中链表长度大于该默认值,转化为红黑树。 UNTREEIFY_THRESHOLD…

无涯教程-PHP - 返回类型声明

在PHP 7中&#xff0c;引入了一个新函数返回类型声明&#xff0c;返回类型声明指定函数应返回的值的类型&#xff0c;可以声明返回类型的以下类型。 intfloatbooleanstringinterfacesarraycallable 有效返回类型 <?phpdeclare(strict_types1);function returnIntValue(i…

Java课题笔记~Element UI

Element&#xff1a;是饿了么公司前端开发团队提供的一套基于 Vue 的网站组件库&#xff0c;用于快速构建网页。 Element 提供了很多组件&#xff08;组成网页的部件&#xff09;供我们使用。例如 超链接、按钮、图片、表格等等~ 如下图左边的是我们编写页面看到的按钮&#…

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

MyScale 是一款完全托管于亚马逊云科技、支持 SQL 的高效向量数据库。MyScale 的优势在于&#xff0c;它在提供与专用向量数据库相匹敌甚至优于的性能的同时&#xff0c;还支持完整的 SQL 语法。在这篇文章中&#xff0c;我们将阐述 MyScale 是如何借助亚马逊云科技的基础设施&…

攻防世界-simple_js

原题 解题思路 js就看源代码&#xff0c;pass是数字&#xff0c;下面还有一串十六进制的编码。 进制转换就是&#xff0c;也是一串数字&#xff0c;那把这两串数字都拿去转ASCII码。 s1 [55,56,54,79,115,69,114,116,107,49,50] s2 [70,65,85,88,32,80,65,83,83,87,79,82,68…

Linux TCP编程流程

一、TCP编程流程 TCP 提供的是面向连接的、可靠的、字节流服务。TCP的服务器端和客户端编程流程如下&#xff1a; 1.socket()方法 用来创建一个套接字&#xff0c;有了套接字就可以通过网络进行数据的收发。这也是为什么进行网络通信的程序首先要创建一个套接字。创建套接字时…

SqlServer2019—解决SQL Server 无法连接127.0.0.1的问题

1、打开SQL Server 2019配置管理器 2、SQL Servere 网络配置(启用 Named Pipes 和 TCP/IP) 3、修改TCP/IP协议(右键选择属性—IP地址)&#xff0c;具体如下图所示&#xff1a; 4、重启SQL Server服务

QT通过ODBC连接GBase 8s数据库(Windows)示例

示例环境&#xff1a; 操作系统&#xff1a;Windows 10 64位数据库及CSDK版本&#xff1a;GBase 8s V8.8_3.0.0_1 64位QT&#xff1a;5.12.0 64位 1&#xff0c;CSDK安装及ODBC配置 1.1&#xff0c;免安装版CSDK 下载免安装版的CSDK驱动&#xff0c;地址&#xff1a;https:…

盛最多水的容器——力扣11

int maxArea(vector<int>& height) {int l=0, r=height.size()