# Start from the Milvus base image FROM milvusdb/milvus:v2.4.15 # Create required directories and set permissions RUN mkdir -p /var/lib/milvus /milvus/configs && \ chmod -R 777 /var/lib/milvus /milvus/configs # Copy necessary configuration files # Assumes embedEtcd.yaml and user.yaml are in the build context COPY embedEtcd.yaml /milvus/configs/embedEtcd.yaml COPY user.yaml /milvus/configs/user.yaml # Environment variables required for Milvus standalone setup ENV ETCD_USE_EMBED=true ENV ETCD_DATA_DIR=/var/lib/milvus/etcd ENV ETCD_CONFIG_PATH=/milvus/configs/embedEtcd.yaml ENV COMMON_STORAGETYPE=local # Expose necessary ports for Milvus EXPOSE 19530 9091 2379 # Health check command to monitor Milvus status HEALTHCHECK --interval=30s --timeout=20s --start-period=90s --retries=3 \ CMD curl -f http://localhost:9091/healthz || exit 1 # Command to start Milvus in standalone mode CMD ["milvus", "run", "standalone"]