ETCD简介

发布于:2024-11-03 ⋅ 阅读:(35) ⋅ 点赞:(0)

ETCD

etcd的使用场景默认处理的数据都是控制数据,
对于应用数据,只推荐数据量很小,但是更新访问频繁的情况

主要用于共享配置和服务发现的组件(激活码验证)

分布式键值(key-value)数据库

基于go语言实现

分布式系统中提供强一致性、高可用性的组件
用来存储少量重要的数据

etcd内部采用raft协议作为一致性算法

简单:基于HTTP+JSON的API
安全:可选SSL客户认证机制
快速:每个实例每秒支持一千次写操作


https://www.lmlphp.com/user/10189/article/item/417234/


docker search etcd
docker pull docker.io/bitnami/etcd

docker run -itd -p 2379:2379 -e ALLOW_NONE_AUTHENTICATION=yes 95a

docker exec -it 镜像名 bash
etcdctl version
etcdctl put key1 bar
etcdctl get key1 

参数说明:
-itd -i -t -d的缩写
-i 以交互模式运行容器,通常与-t同时使用
-t 为容器重新分配一个伪输入终端,通常与-i同时使用
-d 后台运行容器,并返回容器ID,也即启动守护式容器
-p 端口映射
-e 环境配置


MYSQL

docker pull docker.io/mysql
docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 748
docker exec -it 镜像名 bash
bash-4.4#
输入exit退出bash
mysql -u root -p
>>Enter password:123456
mysql>
输入quit退出mysql

use mysql;  //切换数据库
update user set host='%' where user='root'; //允许root用户远程访问
select user,host from user;   //查询
flush privileges;  //刷新权限立即生效

Linux下docker 容器退出bash的两种实现方法
Ctrl + d 退出并停止容器;
Ctrl + p + q 退出并在后台运行容器;

6b6700911803        95a                   "/opt/bitnami/scri..."   About an hour ago   Up 19 minutes       0.0.0.0:2379-2380->2379-2380/tcp                 ecstatic_noether
6a74620db90a        elasticsearch:7.7.0   "/tini -- /usr/loc..."   12 days ago         Up 12 minutes       0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   elasticsearch