public:docker:app:clickhouse

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

  • 最后更改: 2023/08/15 01:12
  • 由 Jinkin Liu