Docker搭建Etcd集群

news/2024/4/28 1:02:44/文章来源:https://blog.csdn.net/LogicLancer/article/details/137060639

Etcd 是一个高可用的键值存储系统,主要用于共享配置和服务发现。它由 CoreOS 团队开发,并且是 CoreOS 集群的后端存储。Etcd 也适用于任何需要强一致性、高可用性和可扩展性的分布式系统。

本教程将介绍如何使用 Docker CLI 和 Docker Compose 两种方式来搭建 Etcd 集群。

使用 Docker CLI 搭建 Etcd 集群

首先,确保 Docker 已经安装在系统上。接下来,我们将通过 Docker CLI 来运行 Etcd 容器。

  1. 拉取 Etcd 镜像

    docker pull bitnami/etcd
    

    这个命令将从 Docker Hub 下载 Bitnami 官方提供的 Etcd 镜像。

  2. 启动 Etcd 容器

    使用以下命令启动一个 Etcd 容器:

    docker run -d --name etcd-node \-p 2379:2379 -p 2380:2380 \--env ETCD_NAME=node \--env ETCD_INITIAL_CLUSTER=node \--env ETCD_INITIAL_CLUSTER_STATE=new \--env ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380 \--env ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379 \--env ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379 \bitnami/etcd:latest
    

    参数解释:

    • -d: 后台运行容器。
      --name etcd-node: 给容器命名为 etcd-node
    • -p 2379:2379: 将容器的 2379 端口映射到宿主机的 2379 端口,这是 Etcd 客户端访问的端口。
    • -p 2380:2380: 将容器的 2380 端口映射到宿主机的 2380 端口,这是 Etcd 集群节点之间通信的端口。
    • --env: 设置环境变量。
      • ETCD_NAME=node: 设置集群节点的名称为 node
      • ETCD_INITIAL_CLUSTER=node: 初始集群中的节点名称,对于单节点集群,可以重复此名称。
      • ETCD_INITIAL_CLUSTER_STATE=new: 集群的初始状态,new 表示创建一个新集群。
      • ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380: 集群节点监听的对等网络 URL。
      • ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379: 集群节点监听的客户网络 URL。
      • ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379: 集群节点对外宣传的客户 URL。
    • bitnami/etcd:latest: 使用的 Etcd 镜像和标签。

使用 Docker Compose 搭建 Etcd 集群

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。下面是一个简单的 docker-compose.yml 文件示例,用于启动一个 Etcd 集群。

  1. 创建 docker-compose.yml 文件

    在本地目录下创建一个名为 docker-compose.yml 的文件,并添加以下内容:

    version: '3'
    services:etcd:image: bitnami/etcd:latestports:- '2379:2379'- '2380:2380'environment:- ETCD_NAME=node- ETCD_INITIAL_CLUSTER=node- ETCD_INITIAL_CLUSTER_STATE=new- ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380- ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379- ETCD_ADVERTISE_CLIENT_URLS=http://localhost:2379networks:- etcd_network
    networks:etcd_network:
    

    参数解释:

    • version: '3': Docker Compose 文件版本。
    • services: 定义服务。
      • etcd: 服务名称。
        • image: 使用的 Etcd 镜像。
        • ports: 端口映射。
          • '2379:2379': 客户端端口映射。
          • '2380:2380': 对等网络端口映射。
        • environment: 环境变量设置,与 Docker CLI 命令中的 --env 参数相同。
        • networks: 指定网络。
          • etcd_network: 服务连接的网络。
    • networks: 定义网络。
      • etcd_network: 自定义网络名称。
  2. 启动 Etcd 集群

    在包含 docker-compose.yml 文件的目录下,运行以下命令来启动 Etcd 集群:

    docker-compose up -d
    

    -d 参数表示在后台运行服务。

通过以上步骤,你已经成功使用 Docker CLI 和 Docker Compose 两种方式搭建了一个 Etcd 集群。现在,你可以通过访问 http://localhost:2379 来与 Etcd 集群交互。

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

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

相关文章

设计模式之桥接模式解析

桥接模式 1)概述 1.定义 桥接模式(Bridge Pattern) 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 2.作用 如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使两者可以独立扩展。 3.…

(一)基于IDEA的JAVA基础5

Scanner的使用 使用scanner可以接收键盘上输入的数据, Scanner inputnew Scanner(System.in); 导包的方式: 什么是导包,导入的是jdk提供的java开发工具包,我们建一个java文件,psvm快捷输入后,打上new S…

静态住宅IP优缺点,究竟要怎么选?

在进行海外 IP 代理时,了解动态住宅 IP 和静态住宅 IP 的区别以及如何选择合适的类型非常重要。本文将介绍精态住宅 IP 特点和,并提供选择建议,帮助您根据需求做出明智的决策。 静态住宅 IP 的特点 静态住宅 IP 是指 IP 地址在一段时间内保…

论文研读:Transformers Make Strong Encoders for Medical Image Segmentation

论文:TransUNet:Transformers Make Strong Encoders for Medical Image Segmentation 目录 Abstract Introduction Related Works 各种研究试图将自注意机制集成到CNN中。 Transformer Method Transformer as Encoder 图像序列化 Patch Embed…

47 vue 常见的几种模型视图不同步的问题

前言 这里主要是来看一下 关于 vue 中的一些场景下面 可能会出现 模型和视图 不同步更新的情况 然后 这种情况主要是 vue 中的对象 属性没有响应式的 setter, getter 然后 我们这里就来看一下 大多数的情况下的一个场景, 和一些处理方式 当然 处理方式主要是基于 Vue.set, …

书生浦语训练营2期-第一节课笔记

笔记总结: 了解大模型的发展方向、本质、以及新一代数据清洗过滤技术、从模型到应用的典型流程、获取数据集的网站、不同微调方式的使用场景和训练数据是什么,以及预训练和微调在训练优势、通信/计算调度、显存管理上的区别。 收获: 理清了预训练和微调…

【优选算法】专题1 -- 双指针 -- 复写0

前言: 补充一下前文没有写到的双指针入门知识:专题1 -- 双指针 -- 移动零 目录 基础入门知识: 1. 复写零(easy) 1. 题⽬链接:1089.复习0 - 力扣(LeetCode) 2. 题⽬描述&#xff…

windwos权限维持

1.php 不死马权限维持 <?php ignore_user_abort(); //关掉浏览器&#xff0c;PHP脚本也可以继续执行. set_time_limit(0);//通过set_time_limit(0)可以让程序无限制的执行下去 $interval 5; // 每隔*秒运行 do { $filename test.php; if(file_exists($filename)) { echo…

iOS网络抓包工具全解析

摘要 本文将深入探讨iOS平台上常用的网络抓包工具&#xff0c;包括Charles、克魔助手、Thor和Http Catcher&#xff0c;以及通过SSH连接进行抓包的方法。此外&#xff0c;还介绍了克魔开发助手作为iOS应用开发的辅助工具&#xff0c;提供的全方面性能监控和调试功能。 在iOS应…

一小时学习redis!

redis 基于内存的数据存储系统 三种使用方式 redis优势 安装redis 最后一种方式只能得到5.0的redis版本 比较老&#xff01; 启动redis redis-server.exe 命令 停止ctrlc或关闭 启动客户端 redis-cli redisinsight安装 字符串 redis区分大小写 默认使用字符串存储 二进制…

2024年,如何实现高效的自动化渗透测试?

随着当前网络安全威胁的不断扩展与升级&#xff0c;开展渗透测试工作已经成为广大企业组织主动识别安全漏洞与潜在风险的关键过程。然而&#xff0c;传统的人工渗透测试模式对测试人员的专业能力和经验水平有很高的要求&#xff0c;企业需要投入较大的时间和资源才能完成。在此…

如何快速搭建一个ELK环境?

前言 ELK是Elasticsearch、Logstash和Kibana三个开源软件的统称&#xff0c;通常配合使用&#xff0c;并且都先后归于Elastic.co企业名下&#xff0c;故被简称为ELK协议栈。 Elasticsearch是一个实时的分布式搜索和分析引擎&#xff0c;它可以用于全文搜索、结构化搜索以及分…

网络稳定性(蓝桥省赛)

0网络稳定性 - 蓝桥云课 (lanqiao.cn) 知识点&#xff1a;克鲁斯卡尔生成树&#xff0c;lca&#xff0c;倍增 最小生成树的模板&#xff1a;最小生成树【模板】-CSDN博客 题解代码如下&#xff1a; #include<bits/stdc.h> using namespace std; const int N3e5100; co…

Gemma开源AI指南

近几个月来&#xff0c;谷歌推出了 Gemini 模型&#xff0c;在人工智能领域掀起了波澜。 现在&#xff0c;谷歌推出了 Gemma&#xff0c;再次引领创新潮流&#xff0c;这是向开源人工智能世界的一次变革性飞跃。 与前代产品不同&#xff0c;Gemma 是一款轻量级、小型模型&…

基于单片机汽车超声波防盗系统设计

**单片机设计介绍&#xff0c;基于单片机汽车超声波防盗系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机汽车超声波防盗系统设计概要主要涉及利用超声波传感器和单片机技术来实现汽车的安全防盗功能。以下是对…

持续集成流程主要系统构成介绍(CI)

目录 一、概述 二、版本控制系统 2.1 概述 2.2 版本控制系统使用流程示意图 2.3 版本控制软件划分 2.3.1 集中式版本控制软件 2.3.2 分布式版本控制软件 2.3.3 总结 2.4 常用版本控制软件介绍 三、编译构建系统 3.1 概述 3.2 编译构建流程示意图 3.3 列举Java 源码…

企微侧边栏开发(内部应用内嵌H5)

一、背景 公司的业务需要用企业微信和客户进行沟通&#xff0c;而客户的个人信息基本都存储在内部CRM系统中&#xff0c;对于销售来说需要一边看企微&#xff0c;一边去内部CRM系统查询&#xff0c;比较麻烦&#xff0c;希望能在企微增加一个侧边栏展示客户的详细信息&#xf…

【unity】如何汉化unity编译器

在【unity】如何汉化unity Hub这篇文章中&#xff0c;我们已经完成了unity Hub的汉化&#xff0c;现在让我们对unity Hub安装的编译器也进行下汉化处理。 第一步&#xff1a;在unity Hub软件左侧栏目中点击安装&#xff0c;选择需要汉化的编译器&#xff0c;再点击设置图片按钮…

知行之桥EDI系统功能介绍——系统安全性

在知行之桥EDI系统中&#xff0c;系统安全性问题主要分为两大类&#xff1a; 保证知行之桥EDI系统运行的基础通过知行之桥EDI系统保护数据 保证知行之桥EDI系统运行的基础 许多安全设置由服务器配置文件管理。使用知行之桥中包含的嵌入式 Web 服务器时&#xff0c;可以在以下…

vue3+ts+elementplus写一个登录页面教程

文章目录 前言1. 安装 Vue CLI 和 TypeScript 支持2. 创建登录组件 文章重点内容 前言 前期准备步骤&#xff1a; 创建一个使用 Vue 3 和 TypeScript 的登录页面涉及到多个步骤。以下是一个基本的教程&#xff0c;帮助你从头开始构建这样一个页面&#xff1a; 1. 安装 Vue CL…