docker安装etcd 3.3.13

2,272 阅读2分钟

以下是在Docker中安装etcd的步骤:

  1. 前提要求:
  • 安装Docker
  • 此处请移步我之前的文章
  • 了解etcd基本知识
  • 此处移步我之前内容
  1. 在Docker中安装etcd
  • 打开终端并输入以下命令创建etcd容器:
docker run \
  -d \
  --name etcd \
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=/var/etcd:/etcd-data \
  quay.io/coreos/etcd:v3.3.13 \
  /usr/local/bin/etcd \
  --name my-etcd-1 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster my-etcd-1=http://0.0.0.0:2380 \
  --initial-cluster-token my-etcd-token \
  --initial-cluster-state new \
  --auto-compaction-retention 1 \
  --auto-compaction-mode periodic
  • 此命令将在本地运行一个名为etcd的容器,并将它映射到主机上的2379和2380端口上。此外,它还会将容器的数据目录映射到主机上的/var/etcd目录中。

  • 如果你需要在集群中添加更多的etcd节点,可以使用以下命令:

docker run \
  -d \
  --name etcd \
  -p 2379:2379 \
  -p 2380:2380 \
  --volume=/var/etcd:/etcd-data \
  quay.io/coreos/etcd:v3.3.13 \
  /usr/local/bin/etcd \
  --name my-etcd-2 \
  --data-dir /etcd-data \
  --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://0.0.0.0:2379 \
  --listen-peer-urls http://0.0.0.0:2380 \
  --initial-advertise-peer-urls http://0.0.0.0:2380 \
  --initial-cluster my-etcd-1=http://<my-etcd-1-ip>:2380,my-etcd-2=http://0.0.0.0:2380 \
  --initial-cluster-token my-etcd-token \
  --initial-cluster-state new \
  --auto-compaction-retention 1 \
  --auto-compaction-mode periodic
  1. 检查etcd是否正常运行
  • 运行以下命令以检查容器是否正在运行:
docker ps
  • 如果etcd容器正在运行,你应该看到类似以下的输出:
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS              PORTS                                            NAMES
76de717944e1        quay.io/coreos/etcd:v3.3.13     "/usr/local/bin/etcd…"   5 seconds ago       Up 4 seconds        0.0.0.0:2379-2380->2379-2380/tcp, 4001/tcp       etcd
  • 你也可以使用以下命令来测试etcd是否正在处理命令:
docker exec -it etcd etcdctl set my-key my-value
docker exec -it etcd etcdctl get my-key
  • 如果etcd正在运行,你应该能够看到输出:
my-value

如果对你有所帮助,请点赞关注一下,谢谢,如果有问题请留言区提问