1 下载compose,使用下面的指令下载compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2 将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
创建软链:
wilson@wilson-virtual-machine:~$ sudo chmod +x /usr/local/bin/docker-compose
wilson@wilson-virtual-machine:~$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
ln: failed to create symbolic link '/usr/bin/docker-compose': File exists
wilson@wilson-virtual-machine:~$ ls
app_private_key.pem app_public_key.pem chaincode conf Desktop Documents Downloads dump.rdb go java_error_in_goland_.hprof logs Music mydata mytestfaric Pictures Postman pprof Public snap Templates tomcat Videos www
wilson@wilson-virtual-machine:~$ cd /usr/local/bin/
wilson@wilson-virtual-machine:/usr/local/bin$ ls
configtxgen consul discover fabric-ca-client idemixgen peer redis-benchmark redis-check-dump redis-sentinel tclsh8.6
configtxlator cryptogen docker-compose get-docker-images.sh orderer protoc redis-check-aof redis-cli redis-server
wilson@wilson-virtual-machine:/usr/local/bin$ pwd
/usr/local/bin
wilson@wilson-virtual-machine:/usr/local/bin$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
ln: failed to create symbolic link '/usr/bin/docker-compose': File exists
wilson@wilson-virtual-machine:/usr/local/bin$ ls
configtxgen consul discover fabric-ca-client idemixgen peer redis-benchmark redis-check-dump redis-sentinel tclsh8.6
configtxlator cryptogen docker-compose get-docker-images.sh orderer protoc redis-check-aof redis-cli redis-server
wilson@wilson-virtual-machine:/usr/local/bin$ cp docker-compose /usr/bin/
cp: cannot create regular file '/usr/bin/docker-compose': Permission denied
wilson@wilson-virtual-machine:/usr/local/bin$ sudo cp docker-compose /usr/bin/
3 测试是否安装成功: 拉取etcd官方镜像
wilson@wilson-virtual-machine:/usr/bin$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
wilson@wilson-virtual-machine:/usr/bin$ cker-compose version 1.24.1
cker-compose: command not found
wilson@wilson-virtual-machine:/usr/bin$ docker-compose --version
docker-compose version 1.24.1, build 4667896b
wilson@wilson-virtual-machine:/usr/bin$ cker-compose version 1.24.1
cker-compose: command not found
wilson@wilson-virtual-machine:/usr/bin$ docker-compose version 1.24.1
Show version information
Usage: version [--short]
Options:
--short Shows only Compose's version number.
wilson@wilson-virtual-machine:/usr/bin$ docker pull quay.io/coreos/etcd
Using default tag: latest
latest: Pulling from coreos/etcd
ff3a5c916c92: Already exists
96b0e24539ea: Pull complete
d1eca4d01894: Pull complete
ad732d7a61c2: Pull complete
8bc526247b5c: Pull complete
5f56944bb51c: Pull complete
Digest: sha256:5b6691b7225a3f77a5a919a81261bbfb31283804418e187f7116a0a9ef65d21d
Status: Downloaded newer image for quay.io/coreos/etcd:latest
4
在一个文件夹下创建 etcd-compose.yml文件,用于管理etcd容器 etcd-compost.yml
version: '3'
services:
etcd-node1:
image: "quay.io/coreos/etcd"
container_name: "etcd-node1"
ports:
- "12379:2379"
- "12380:2380"
command: 'etcd -name etcd-node1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-node3=http://etcd-node3:2380" -initial-cluster-state new'
networks:
- "etcd"
etcd-node2:
image: "quay.io/coreos/etcd"
container_name: "etcd-node2"
ports:
- "22379:2379"
- "22380:2380"
command: 'etcd -name etcd-node2 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-node3=http://etcd-node3:2380" -initial-cluster-state new'
networks:
- "etcd"
etcd-node3:
image: "quay.io/coreos/etcd"
container_name: "etcd-node3"
ports:
- "32379:2379"
- "32380:2380"
command: 'etcd -name etcd-node3 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -listen-peer-urls http://0.0.0.0:2380 -initial-cluster-token etcd-cluster -initial-cluster "etcd-node1=http://etcd-node1:2380,etcd-node2=http://etcd-node2:2380,etcd-node3=http://etcd-node3:2380" -initial-cluster-state new'
networks:
- "etcd"
networks:
etcd:
5 启动yml文件
wilson@wilson-virtual-machine:/opt/go/src/awesomeProjects$ docker-compose -f etcd-compost.yml up -d
Creating network "awesomeprojects_etcd" with the default driver
Creating etcd-node2 ... done
Creating etcd-node3 ... done
Creating etcd-node1 ... done
wilson@wilson-virtual-machine:/opt/go/src/awesomeProjects$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d345e4f98677 quay.io/coreos/etcd "etcd -name etcd-nod…" 10 seconds ago Up 4 seconds 0.0.0.0:12379->2379/tcp, 0.0.0.0:12380->2380/tcp etcd-node1
c03b26a2ce98 quay.io/coreos/etcd "etcd -name etcd-nod…" 10 seconds ago Up 5 seconds 0.0.0.0:32379->2379/tcp, 0.0.0.0:32380->2380/tcp etcd-node3
2fe6a91844fb quay.io/coreos/etcd "etcd -name etcd-nod…" 10 seconds ago Up 6 seconds 0.0.0.0:22379->2379/tcp, 0.0.0.0:22380->2380/tcp etcd-node2
export ETCDCTL_API=3;
flag provided but not defined: -prefix
/ #
/ #
/ #
/ # etcdctl member list
5b926f852fa1811: name=etcd-node1 peerURLs=http://etcd-node1:2380 clientURLs=http://0.0.0.0:2379 isLeader=true
9b3cd975d37c44ce: name=etcd-node2 peerURLs=http://etcd-node2:2380 clientURLs=http://0.0.0.0:2379 isLeader=false
9e13ad3ed0f8a26b: name=etcd-node3 peerURLs=http://etcd-node3:2380 clientURLs=http://0.0.0.0:2379 isLeader=false
/ # export ETCDCTL_API=3;
/ #
/ # etcdctl get --prefix ""
/micro/registry/go.micro.http.broker/greeter-3d16f350-24c9-4675-b3a5-14bc753b61e5
{"name":"go.micro.http.broker","version":"ff.http.broadcast","metadata":null,"endpoints":null,"nodes":[{"id":"greeter-3d16f350-24c9-4675-b3a5-14bc753b61e5","address":"192.168.33.134:36231","metadata":{"broker":"http","secure":"false","topic":"greeter"}}]}
/micro/registry/greeter/greeter-562572e3-664a-4b13-99b8-df0b225b5b47
{"name":"greeter","version":"2021.06.03.11.20","metadata":null,"endpoints":[{"name":"Greeter.Hello","request":{"name":"HelloRequest","type":"HelloRequest","values":[{"name":"name","type":"string","values":null}]},"response":{"name":"HelloResponse","type":"HelloResponse","values":[{"name":"greeting","type":"string","values":null}]},"metadata":{}}],"nodes":[{"id":"greeter-562572e3-664a-4b13-99b8-df0b225b5b47","address":"192.168.33.134:44191","metadata":{"broker":"http","protocol":"mucp","registry":"etcd","server":"mucp","transport":"http"}}]}
/ #
/ #
/ #
/ #
/ #