首页 > 系统相关 >Linux 上用 docker-compose 文件指定的方式安装ETCD

Linux 上用 docker-compose 文件指定的方式安装ETCD

时间:2024-03-29 11:33:06浏览次数:31  
标签:compose ETCD service etcdctl 上用 etcd home docker root

转载自:https://xie.infoq.cn/article/ffb0703096f0de1045e1ab028, 这篇博客很棒!完全可执行的。本人修改了作者docker命令替换成了docker compose文件的方式。

  1. 创建数据保存目录: mkdir -p /home/service/etcd/data;
    创建配置目录:/home/service/etcd/conf;
    配置文件: /home/service/etcd/conf/etcd.yml 内容如下:

    etcd配置参考:https://github.com/etcd-io/etcd/blob/main/etcd.conf.yml.sample

#成员名称
name: etcd01
## 数据保存路径
data-dir: /data
##对外提供服务的地址
listen-client-urls: http://0.0.0.0:2379
##成员之间通信地址
listen-peer-urls: http://0.0.0.0:2380
##此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名
##advertise-client-urls: http://etcd01:2379
  1. 文件 /home/service/etcd/docker-compose.yaml 内容如下:
version: "3.5"
services:
  etcd:
    hostname: etcd
    image: bitnami/etcd:3.5.9
    container_name: etcd
    restart: always
# 设置单节点可以不设置    
#    deploy:
#      replicas: 1
#      restart_policy:
#        condition: on-failure
    privileged: true
    volumes:
      - "/home/service/etcd/data:/data"
      - "/home/service/etcd/conf:/opt/bitnami/etcd/conf"
    environment:
      #参数指不用密码可以连接,初次开启先设置免密
      - "ALLOW_NONE_AUTHENTICATION=yes"
      - "ETCD_CONFIG_FILE=/opt/bitnami/etcd/conf/etcd.yml"
    ports:
      - 2379:2379
      - 2380:2380
    networks:
      - etcdnet
      # networks如无要求,可以不指定
networks:
  etcdnet:
    name: etcdnet  
  1. 在/home/service/etcd 目录下执行 docker-compose up -d ,就可以开启etcd的docker容器。

  2. 用docker ps查看运行的容器,用命令:“docker exec -it <容器id> sh ”进入容器。然后执行命令行添加用户并授权开启权限验证。

# 新增角色
etcdctl role add root
# 新增用户
etcdctl user add root
# 给用户分配角色
etcdctl user grant-role root root
# 查看用户信息
etcdctl user get root
# 为角色设置某个key的权限,有说root默认有所有权限,本人未测试,"/"代表所有的key
etcdctl role grant-permission root readwrite /
# 开启权限验证, 执行后大部分命令都要加账号密码执行:--user=root --password=xxx
etcdctl auth enable
# 禁用身份验证
etcdctl auth disable --user=root --password=xxx
# 修改密码
etcdctl user passwd root --user=root --password=xxx

标签:compose,ETCD,service,etcdctl,上用,etcd,home,docker,root
From: https://www.cnblogs.com/jing1024/p/18103456

相关文章

  • docker-compose配置rocketmq5.1.4
    在学习roketmq期间,先自己搭建一套rocketmq的运行环境至关重要!因此就有了以下这篇博客先安装docker和docker-compose,这里认为你已经会了根据需要,先创建一个网络dockernetworkcreaterockermq编写docker-compose.yml文件version:"3"networks:default:#......
  • Composer常见错误解决
    Composer是PHP中用于管理依赖关系的工具,常用于安装、更新和管理PHP项目中的第三方库和包。在使用Composer的过程中,可能会遇到一些常见的错误,下面列举几种常见的错误以及解决方法:1.缺少依赖关系或包无法找到错误描述:在运行composerinstall或composerupdate时,Composer报告......
  • etcd与redis之间的区别
    一、简介我们之前用了redis,那么好用为什么还要来用etcd呢,这里就来和大家聊聊为什么有的业务场景选择etcd。分析:在当今的分布式系统中,数据存储及一致性相当重要。etcd和redis都是我们最受欢迎的开源分布式数据存储的解决方案,但是他们有着不同的试用场景。下面我个人对其中二个的......
  • etcd可视化连接工具
    一、官方快速上手视图工具Playground地址:http://play.etcd.io/play注释:其使用和redis差不多,主从选举模式,master节点挂了,从节点就会参与选举master,主节点可以读写,从节点只能读。二、Etcd的可视化工具etcdkeeper安装包下载地址如下:地址:https://github.com/evildecay/etcdke......
  • etcd安装(docker)
    一、拉去官方镜像dockerpullquay.io/coreos/etcd:v3.5.0二、创建etcd容器dockerrun-d\-p2379:2379\-p2380:2380\--nameetcd\quay.io/coreos/etcd:v3.5.0\/usr/local/bin/etcd\-advertise-client-urlshttp://0.0.0.0:2379\-listen-client-......
  • Docker Compose
    DockerComposeDockerCompose简介使用Docker的时候,定义Dockerfile文件,然后使用dockerbuild、dockerrun等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,这样效率很低,也不方便管理。使用Do......
  • Etcd 基本入门
    1:什么是Etcd?Etcd是CoreOS团队于2013年6月发起的开源项目,它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,Etcd基于Go语言实现。名字由来,它源于两个方面,unix的“/etc”文件夹和分布式系统(“D”istributesystem)的D,组合......
  • docker-compose介绍
    1docker-compose介绍#使用了docker面临一个比较大的问题,如果一个djagno项目,使用mysql,redis,不要一次性把所有服务都放到一个容器中,每个服务一个容器,批量的管理多个容器,比较难以操作,于是有了docker-compose#批量管理,操作docker容器的软件---》只在单机#DockerCompose是一......
  • docker compose 启动 redis
    redis.ymlversion:"2.4"services:redis:image:redis:6.2.1container_name:redisenvironment:-TZ=Asia/Shanghai#-redisPWD=cl0udsuit1privileged:truepid:"host"network_mode:"ho......
  • 查看k8s中etcd集群的状态
    1.1使用脚本下载与服务端相同版本的 etcdctl 软件包[[email protected]]$pwd/home/shutang/k8s/etcd[[email protected]]$lsdownload.sh[[email protected]]$catdownload.sh#!/bin/bashETCD_VER=v3.4.3ETCD_DIR=etcd-downloadDOWNLOAD_UR......