Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
一个简单的ETCD集群例子🌰
version: '3' # 版本
networks: # 设置网络
dev-network: # 网络名称
external: true # 已存在的网络,去掉会自动创建
services: # 服务
etcd1: # 第一个容器
image: quay.io/coreos/etcd #使用的镜像
container_name: etcd1 # 容器名称
command: etcd -name etcd1 -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 "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new # ETCD集群节点
ports: # 端口 docker run 的 -p
- "2379:2379"
- 2380
networks: # 使用的网络
- dev-network
etcd2: # 服务2
image: quay.io/coreos/etcd
container_name: etcd2
command: etcd -name etcd2 -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 "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
ports:
- 2379
- 2380
networks:
- dev-network
etcd3: # 服务3
image: quay.io/coreos/etcd
container_name: etcd3
command: etcd -name etcd3 -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 "etcd1=http://etcd1:2380,etcd2=http://etcd2:2380,etcd3=http://etcd3:2380" -initial-cluster-state new
ports:
- 2379
- 2380
networks:
- dev-network
// 使用Dockerfile文件构建镜像并创建容器
demoServer:
image: demo:latest # 镜像名称
build: ./dir # Dockerfile文件位置
container_name: demo
ports:
- 13031:8080
volumes:
- /demo/rpc/etc:/app/etc
depends_on:
- etcd1 # 在启动demoServer前面要先启动etcd1服务
networks:
- dev-network
在docker-compose.yml目录执行启动命令
docker-compose up
评论 (0)