docker-compose部署以及常用命令

一:常用命令

1.docker compose restart//重启
2.docker compose down// 停止
3.docker compose ps//列出
4.sudo docker-compose up -d 启动并且在后台运行

二:yaml配置文件

version: '3.5'
services:
 etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.5-arm64
    restart: always
    environment:
      - ETCD_AUTO_COMPACTION_MODE=revision
      - ETCD_AUTO_COMPACTION_RETENTION=1000
      - ETCD_QUOTA_BACKEND_BYTES=4294967296
      - ETCD_SNAPSHOT_COUNT=50000
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/data/volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd

  minio:
    container_name: milvus-minio
    image: minio/minio:latest
    restart: always
    environment:
      MINIO_ACCESS_KEY: minioadmin
      MINIO_SECRET_KEY: minioadmin
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/data/volumes/minio:/minio_data
    command: minio server /minio_data
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
      interval: 30s
      timeout: 20s
      retries: 3
      
  standalone:
    container_name: milvus-standalone
    image: milvusdb/milvus:latest
    restart: always
    command: ["milvus", "run", "standalone"]
    environment:
      ETCD_ENDPOINTS: etcd:2379
      MINIO_ADDRESS: minio:9000
      swappiness: 0
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/conf/milvus/milvus.yaml:/milvus/configs/milvus.yaml
      - ${DOCKER_VOLUME_DIRECTORY:-.}/data/volumes/milvus:/var/lib/milvus
    ports:
      - "19530:19530"
      - "9091:9091"
    depends_on:
      - "etcd"
      - "minio"
      
  doc_mongodb:
    image: artifacts.iflytek.com/docker-private/aimind/mongo:4.2.6
    container_name: doc_mongodb
    volumes:
      - "/data/docqa/data/mongo/configdb/:/data/configdb/"
      - "/data/docqa/data/mongo/data/db/:/data/db/"
    restart: always
    environment:
      - MONGO_INITDB_ROOT_USERNAME=aimind
      - MONGO_INITDB_ROOT_PASSWORD=mongoforaimind2021
    ports:
      - "27017:27017"
  doc-minio:
    container_name: doc-minio
    image: minio/minio:latest
    restart: always
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin
    volumes:
      - ${DOCKER_VOLUME_DIRECTORY:-.}/data/minio/data:/data
      - ${DOCKER_VOLUME_DIRECTORY:-.}/data/minio/config:/root/.minio
    command: server /data --console-address ":9090"
    ports:
      - "9001:9000"
      - "9090:9090"
  doc_es:
    image: artifacts.iflytek.com/docker-private/aimind/elasticsearch:8.4.1
    container_name: doc_es
    volumes:
      - "/data/docqa/data/esdata/:/usr/share/elasticsearch/data"
      - "/data/docqa/conf/elasticsearch/plugins/:/usr/share/elasticsearch/plugins/"
    ports:
      - "19300:9300" 
      - "19200:9200"
    restart: always
    environment:
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms256m -Xmx16g"
      - xpack.security.enabled=false
      - bootstrap.memory_lock=true
      - cluster.routing.allocation.disk.threshold_enabled=false
    ulimits:
      memlock:
        soft: -1
        hard: -1
  doc_backend:
    depends_on:
      - etcd
      - minio
      - standalone
      - doc_mongodb
      - doc_es
    image: artifacts.docqa:test.556
    container_name: doc_backend
    environment:
      - "SPRING_PROFILES_ACTIVE=dev"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/usr/bin/docker:/bin/docker"
      - "/data/docqa/data/docqa/:/mnt/parastor/aimind"
      - "/data/docqa/conf/backend/application-dev.yml:/home/doc/application-dev.yml"
    ports:
      - "8906:8906"
    restart: always
  doc_frontend:
    depends_on:
      - doc_backend
    image: artifacts.frontend-test:0.0.1-aimind--light-test.51
    container_name: doc_frontend
    volumes:
      - "/data/docqa/conf/frontend/nginx.conf:/etc/nginx/nginx.conf"
    ports:
      - "30880:80"
    restart: always
  doc_sim:
    image: artifacts.sim:1.0.0
    container_name: doc_sim
    ports:
      - "8901:8901"
    restart: always    
    
networks:
  default:
    name: doc


三:关于一些常见问题

1.docker-compose 会提示找不到命令行情况之一:

V1版本是用docker-compose up
V2版本是用docker compose up

2.docker-compose 会提示找不到命令行情况之二:

检查是否在可执行文件下一般docker-compose 需要放在可执行文件下并且赋予权限
1.which docker-compose #检查是否在可执行文件下
2./usr/local/bin/docker-compose #这个地方是可执行文件位置
3.sudo chmod +x /usr/local/bin/docker-compose

3.docker-compose 会提示找不到命令行情况之三:

1.docker要求版本是18以上
2.并且要有elep环境需要先安装
3.可能有些要有python环境我的是腾讯云opencloud8不需要安装这些

4.部署好后开放防火墙

# 允许 Milvus 端口通过防火墙
sudo ufw allow 19530/tcp
sudo ufw allow 9091/tcp

三:性能调优

调整系统参数
创建 /etc/sysctl.d/99-milvus.conf 文件

# 增加文件打开数量限制
fs.file-max = 1000000

# 增加 TCP 连接数
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_syncookies = 1

# 提高网络性能
net.core.netdev_max_backlog = 65536
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 5000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会敲代码阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值