starrocks/docker/starrocks-stack-compose/docker-compose.yml

96 lines
3.8 KiB
YAML

# This docker compose file builds a StarRocks local development and test environment.
version: "3.9"
networks:
starrocks-stack-network:
driver: bridge
services:
starrocks:
container_name: starrocks
hostname: starrocks.local.com
platform: "linux/amd64"
# TODO: Replace image with any image your want to test
image: starrocks/allin1-ubuntu:3.0.0-rc01
restart: unless-stopped
ports: # port mapping format "[host port]:[container port]", can be configured to your preferred port
- "8030:8030"
- "8040:8040"
- "9030:9030"
healthcheck:
test: 'mysql -uroot -h127.0.0.1 -P 9030 -e "show backends\G" |grep "Alive: true"'
interval: 10s
timeout: 5s
retries: 3
networks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ip
starrocks-stack-network:
# Configure persistent volume to keep the StarRocks database state across container recreation.
# This way, even you have to recreate the container, e.g. updating the image from one version to another, the
# StarRocks database will be preserved.
volumes: # volume mapping format "[host volume directory]:[container volume directory]", can be configured to your preferred mount point
- ${HOME}/dv/starrocks/be/storage:/data/deploy/starrocks/be/storage
- ${HOME}/dv/starrocks/be/log:/data/deploy/starrocks/be/log
- ${HOME}/dv/starrocks/fe/meta:/data/deploy/starrocks/fe/meta
- ${HOME}/dv/starrocks/fe/log:/data/deploy/starrocks/fe/log
minio:
container_name: minio
platform: "linux/amd64"
hostname: minio.local.com
image: quay.io/minio/minio
restart: unless-stopped
ports: # port mapping format "[host port]:[container port]", can be configured to your preferred port
- "9000:9000"
- "9001:9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://minio.local.com:9000/minio/health/live"]
interval: 10s
timeout: 5s
retries: 3
volumes:
- ${HOME}/dv/minio/data:/data
networks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ip
starrocks-stack-network:
environment:
MINIO_ROOT_USER: root
MINIO_ROOT_PASSWORD: rootroot
command: server /data --console-address ":9001"
# Azure emulator service: https://github.com/Azure/Azurite
azurite:
container_name: azurite
platform: "linux/amd64"
hostname: azurite.local.com
image: mcr.microsoft.com/azure-storage/azurite
restart: unless-stopped
environment:
AZURITE_ACCOUNTS: "root:rootroot" # TODO: customize your own account credential
ports:
- "10000:10000" # blob service
- "10001:10001" # queue service
- "10002:10002" # table service
volumes: # volume mapping format "[host volume directory]:[container volume directory]", can be configured to your preferred mount point
- ${HOME}/dv/azurite/data:/data
networks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ip
starrocks-stack-network:
zeppelin:
container_name: zeppelin
platform: "linux/amd64"
hostname: zeppelin.local.com
build:
context: zeppelin4starrocks
dockerfile: Dockerfile
restart: unless-stopped
ports: # port mapping format "[host port]:[container port]", can be configured to your preferred port
- "8089:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://zeppelin.local.com:8080"]
interval: 10s
timeout: 5s
retries: 3
networks: # network config, can be configured to your preferred port and ip address, if not specified, it will use default network and assign a dynamic ip
starrocks-stack-network: