文章
docker desktop部署doris
docker compose配置信息:
version: '3.8'
services:
doris-fe:
image: apache/doris:fe-latest
container_name: doris-fe
hostname: fe
ports:
- "8030:8030"
- "9030:9030"
environment:
- FE_SERVERS=fe1:172.20.0.2:9010
- FE_ID=1
volumes:
- doris_fe_data:/opt/apache-doris/fe/doris-meta
- doris_fe_log:/opt/apache-doris/fe/log
networks:
doris_net:
ipv4_address: 172.20.0.2
restart: always
doris-be:
image: apache/doris:be-latest
container_name: doris-be
hostname: be
depends_on:
- doris-fe
ports:
- "8040:8040"
environment:
- FE_SERVERS=fe1:172.20.0.2:9010
- BE_ADDR=172.20.0.3:9050
volumes:
- doris_be_data:/opt/apache-doris/be/storage
- doris_be_log:/opt/apache-doris/be/log
networks:
doris_net:
ipv4_address: 172.20.0.3
restart: always
volumes:
doris_fe_data:
doris_be_data:
doris_fe_log:
doris_be_log:
networks:
doris_net:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/24默认密码为空,修改root密码
SET PASSWORD FOR 'root' = PASSWORD('your_new_strong_password');其他
version: '3.8'
services:
# ========== MySQL ==========
mysql:
image: mysql:8.0
container_name: mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: zhoujielun
MYSQL_PASSWORD: root
ports:
- "3307:3306"
volumes:
- mysql_data:/var/lib/mysql
- ./mysql:/docker-entrypoint-initdb.d # 可放置初始化 SQL 脚本
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
networks:
- shared-net
# ========== Elasticsearch ==========
elasticsearch:
build: ./elasticsearch
container_name: elasticsearch
restart: unless-stopped
environment:
discovery.type: single-node
xpack.security.enabled: "false"
ports:
- "9200:9200"
volumes:
- es_data:/usr/share/elasticsearch/data
networks:
- shared-net
# ========== Kibana ==========
kibana:
image: kibana:8.19.10
container_name: kibana
restart: unless-stopped
environment:
ELASTICSEARCH_HOSTS: http://elasticsearch:9200
ports:
- "5601:5601"
depends_on:
- elasticsearch
networks:
- shared-net
# ========== Qdrant ==========
qdrant:
image: qdrant/qdrant:v1.16
container_name: qdrant
restart: unless-stopped
ports:
- "6333:6333"
- "6334:6334"
volumes:
- qdrant_data:/qdrant/storage
networks:
- shared-net
# ========== Embedding (Text Embeddings Inference) ==========
embedding:
image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.8
container_name: embedding
restart: unless-stopped
ports:
- "8081:80"
environment:
MODEL_ID: /models/bge-large-zh-v1.5
MAX_CONCURRENT_REQUESTS: "16"
MAX_BATCH_TOKENS: "16384"
volumes:
- ./embedding/bge-large-zh-v1.5:/models/bge-large-zh-v1.5
networks:
- shared-net
# ========== DolphinScheduler Standalone ==========
dolphinscheduler-standalone:
image: apache/dolphinscheduler-standalone-server:3.2.2
container_name: dolphinscheduler-standalone
restart: always
ports:
- "12345:12345"
- "25333:25333"
volumes:
- ./lib/mysql-connector-j-8.0.33.jar:/opt/dolphinscheduler/libs/standalone-server/mysql-connector-j-8.0.33.jar
environment:
TZ: Asia/Shanghai
SPRING_PROFILES_ACTIVE: mysql
# 使用 MySQL 服务名和内部端口
SPRING_DATASOURCE_URL: "jdbc:mysql://mysql:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true"
SPRING_DATASOURCE_USERNAME: ds_user
SPRING_DATASOURCE_PASSWORD: dolphinscheduler123
depends_on:
- mysql
networks:
- shared-net
# ========== Doris FE ==========
doris-fe:
image: apache/doris:fe-latest
container_name: doris-fe
hostname: fe
ports:
- "8030:8030"
- "9030:9030"
environment:
- FE_SERVERS=fe1:172.20.0.2:9010
- FE_ID=1
volumes:
- doris_fe_data:/opt/apache-doris/fe/doris-meta
- doris_fe_log:/opt/apache-doris/fe/log
networks:
doris_net:
ipv4_address: 172.20.0.2
shared-net: # 同时加入共享网络,便于其他服务访问
restart: always
# ========== Doris BE ==========
doris-be:
image: apache/doris:be-latest
container_name: doris-be
hostname: be
depends_on:
- doris-fe
ports:
- "8040:8040"
environment:
- FE_SERVERS=fe1:172.20.0.2:9010
- BE_ADDR=172.20.0.3:9050
volumes:
- doris_be_data:/opt/apache-doris/be/storage
- doris_be_log:/opt/apache-doris/be/log
networks:
doris_net:
ipv4_address: 172.20.0.3
shared-net:
restart: always
# ========== 数据卷 ==========
volumes:
mysql_data:
es_data:
qdrant_data:
doris_fe_data:
doris_be_data:
doris_fe_log:
doris_be_log:
# ========== 网络 ==========
networks:
# 共享网络,让所有容器通过服务名互通
shared-net:
driver: bridge
# Doris 专用网络(保留固定 IP)
doris_net:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/24