docker 部署 clickhouse server
- docker-compose.yml
version: "3.7" services: clickhouse-server: # 默认用户名: default ,密码通过配置文件来设置。 image: yandex/clickhouse-server:latest # restart: always ports: - "8123:8123" - "9000:9000" ulimits: nofile: soft: 262144 hard: 262144 # 时区的环境变量在该镜像中无效。 #environment: # TZ: "Asia/Shanghai" volumes: - db_data:/var/lib/clickhouse # 用户自定义配置 - ./users.d:/etc/clickhouse-server/users.d:ro # 初始脚本 - ./initdb.d:/docker-entrypoint-initdb.d:ro volumes: db_data:
创建一个 users.d 目录,存放用户自定义配置,示例为配置默认用户的登录密码: default-password.xml
- default-password.xml
<yandex> <users> <default> <password>123456</password> </default> </users> </yandex>
创建一个 initdb.d 目录,存放自定义的初始化脚本。示例为创建一个数据库
- init-db.sh
#!/bin/bash set -e clickhouse client --password 123456 -n <<-EOSQL CREATE DATABASE IF NOT EXISTS my_database; EOSQL