Docker Compose: A collection of tools to manage Docker installations

  • Docker Compose: A tool for collectively managing multiple Docker containers. When installing docker, windows and macos install Docker Compose by default, and linux needs to be installed manually
  1. Go to the official website https://github.com/docker/compose/releases to download the required version
  2. $ sudo chmod +x ./docker-compose-linux-x86_64
  3. $ sudo cp ./docker-compose-linux-x86_64 /usr/bin/docker-compose
  4. $ docker-compose version

example

        An example configuration file for Docker Compose to define and configure two services: triton and copilot_proxy.

# https://github.com/fauxpilot/fauxpilot/blob/main/docker-compose.yaml

version: '3.3' # Docker Compose文件的版本

services:
  triton: # 第一个服务,名称为triton
    build: # 构建容器的配置
      context: . # 构建上下文位置为当前目录
      dockerfile: triton.Dockerfile # 使用triton.Dockerfile来构建容器
    # 容器启动后运行的命令
    command: bash -c "CUDA_VISIBLE_DEVICES=${GPUS} mpirun -n 1 --allow-run-as-root /opt/tritonserver/bin/tritonserver --model-repository=/model" 
    shm_size: '2gb' # 分配给容器的共享内存大小
    volumes: # 挂载点配置
      - ${
    
    MODEL_DIR}:/model # 将宿主机的MODEL_DIR目录挂载到容器的/model目录下
      - ${
    
    HF_CACHE_DIR}:/root/.cache/huggingface # 将宿主机的HF_CACHE_DIR目录挂载到容器的/root/.cache/huggingface目录下
    ports: # 端口映射配置
      - "8000:8000" # 将宿主机的8000端口映射到容器的8000端口
      - "${TRITON_PORT}:8001" # 将宿主机的TRITON_PORT端口映射到容器的8001端口
      - "8002:8002" # 将宿主机的8002端口映射到容器的8002端口
    deploy: # 部署配置
      resources: # 资源预留配置
        reservations: # 预留资源配置
          devices: # 设备配置
            - driver: nvidia # 使用NVIDIA GPU驱动程序
              count: all # 使用所有可用的GPU设备
              capabilities: [gpu] # 使用GPU功能

  copilot_proxy: # 第二个服务,名称为copilot_proxy
    # For dockerhub version
    # image: moyix/copilot_proxy:latest

    # For local build
    build: # 构建容器的配置
      context: . # 构建上下文位置为当前目录
      dockerfile: proxy.Dockerfile # 使用proxy.Dockerfile来构建容器
    command: uvicorn app:app --host 0.0.0.0 --port 5000 # 容器启动后运行的命令
    env_file: # 环境变量配置
      # Automatically created via ./setup.sh
      - .env # 读取.env文件中的环境变量
    ports: # 端口映射配置
      - "${API_EXTERNAL_PORT}:5000" # 将宿主机的API_EXTERNAL_PORT端口映射到容器的5000端口

Guess you like

Origin blog.csdn.net/ResumeProject/article/details/132125272