milvus/docker-compose.yml
Lari Hotari 32d41b176b
Improve docker-compose config for Pulsar (#7335)
- fix graceful shutdown by using "exec bin/pulsar" when starting in a shell script
  so that OS signals can get delivered to Pulsar process to fix graceful shutdown
- simplify and fix configuration issues
- disable Pulsar Functions worker and related key-value storage service so that
  resource usage is reduced
- upgrade to use Pulsar 2.7.3 since 2.6.x isn't actively maintained

Signed-off-by: Lari Hotari <lari@hotari.net>
2021-08-29 11:39:57 +08:00

65 lines
2.1 KiB
YAML

version: '3.5'
x-ccache: &ccache
CCACHE_COMPILERCHECK: content
CCACHE_COMPRESS: 1
CCACHE_COMPRESSLEVEL: 5
CCACHE_MAXSIZE: 2G
CCACHE_DIR: /ccache
services:
builder:
image: ${IMAGE_REPO}/milvus-env:${IMAGE_ARCH}-${OS_NAME}-${DATE_VERSION}
# Build devcontainer
build:
context: .
dockerfile: build/docker/builder/cpu/${OS_NAME}/Dockerfile
cache_from:
- ${IMAGE_REPO}/milvus-env:${IMAGE_ARCH}-${OS_NAME}-${LATEST_DATE_VERSION}
# user: {{ CURRENT_ID }}
shm_size: 2G
environment:
<<: *ccache
PULSAR_ADDRESS: ${PULSAR_ADDRESS}
ETCD_ENDPOINTS: ${ETCD_ENDPOINTS}
MINIO_ADDRESS: ${MINIO_ADDRESS}
CUSTOM_THIRDPARTY_PATH: /tmp/thirdparty
volumes: &builder-volumes
- .:/go/src/github.com/milvus-io/milvus:delegated
- ${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-ccache:/ccache:delegated
- ${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-go-mod:/go/pkg/mod:delegated
- ${DOCKER_VOLUME_DIRECTORY:-.docker}/thirdparty:/tmp/thirdparty:delegated
- ${DOCKER_VOLUME_DIRECTORY:-.docker}/${IMAGE_ARCH}-${OS_NAME}-vscode-extensions:/home/milvus/.vscode-server/extensions:delegated
working_dir: "/go/src/github.com/milvus-io/milvus"
# Command
command: &builder-command >
/bin/bash -c "
make check-proto-product && make verifiers && make unittest"
etcd:
image: quay.io/coreos/etcd:v3.5.0
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379
pulsar:
image: apachepulsar/pulsar:2.7.3
command: bin/pulsar standalone --no-functions-worker --no-stream-storage
minio:
image: minio/minio:RELEASE.2020-12-03T00-03-10Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
command: minio server /minio_data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
jaeger:
image: jaegertracing/all-in-one:latest
networks:
default:
name: milvus_dev