使用docker-compose配合Dockerfile构建镜像并管理容器

使用docker-compose配合Dockerfile构建镜像并管理容器

远航
2022-11-27 / 0 评论 / 142 阅读 / 正在检测是否收录...

一个简单的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

评论 (0)

取消