原因
- 单纯的学习etcd,想部署etcd到mac本地docker,发现报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint jovial_carson (930bbea088e02986cafba6b7d8589c60b0c16e5ba1226cf0c0435cc9621d7ddd): listen tcp4 0.0.0.0:2380: bind: address already in use.
- 通过自己制作镜像也报这个错。
本地启动etcd最简单的方式
就是官网的etcd命令,下载后执行启动即可
-
官网给出了mac的操作命令,可以直接放到一个shell脚本中执行即可
ETCD_VER=v3.5.0 # choose either URL GOOGLE_URL=https://storage.googleapis.com/etcd GITHUB_URL=https://github.com/etcd-io/etcd/releases/download DOWNLOAD_URL=${GOOGLE_URL} rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip rm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test curl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip unzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip mv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf /tmp/etcd-${ETCD_VER}-darwin-amd64 /tmp/etcd-download-test/etcd --version /tmp/etcd-download-test/etcdctl version /tmp/etcd-download-test/etcdutl version
-
然后直接在/tmp/etcd-download-test/etcd目录下执行: ./etcd 就启动了一个本地的etcd
-
简单使用命令
./etcdctl --endpoints=localhost:2379 put b bc
./etcdctl --endpoints=localhost:2379 get b
./etcdctl --endpoints=localhost:2379 get a -wjson
其他环境
参考 https://github.com/etcd-io/etcd/releases/tag/v3.5.0