docker compose 安装clickhouse 24.3

  1. network_mode为host模式,与宿主机同一网络, docker-compose.yml 内容:
version: '3'

services:
  clickhouse:
    image: clickhouse/clickhouse-server:24.3
    container_name: clickhouse
    restart: always
    environment:
      - TZ=Asia/Shanghai
    network_mode: host
    volumes:
      - ./data:/var/lib/clickhouse
      - ./conf/users.xml:/etc/clickhouse-server/users.xml
      - ./conf/config.xml:/etc/clickhouse-server/config.xml
    ports:
      - "8123:8123"   # HTTP 接口
      - "9000:9000"   # Native TCP 接口
      - "9009:9009"   # gRPC

users.xml 和 config.xml 文件,在第一次执行时不映射,运行容器后用docker cp命令将/etc/clickhouse-server/users.xml 和/etc/clickhouse-server/config.xml 复制到宿主机。然后添加映射。再运行:

docker-compose up -d --build

在users.xml 的password 处可以修改密码,和用户名。


  1. 如果不用网络的host模式,程序和clickhouse不在同一个网络,而去连接数据库时,需要在配置中需要修改允许所有ip连接,(当然生产环境并不建议刻意这样做,最好是让同一服务的程序和DB在同一网络):
version: '3'

services:
  clickhouse:
    image: clickhouse/clickhouse-server:24.3
    container_name: clickhouse
    restart: always
    environment:
      - TZ=Asia/Shanghai
        #    network_mode: host
    volumes:
      - ./data:/var/lib/clickhouse
      - ./conf/users.xml:/etc/clickhouse-server/users.xml
      - ./conf/config.xml:/etc/clickhouse-server/config.xml
      - ./conf/default-user.xml:/etc/clickhouse-server/users.d/default-user.xml
    ports:
      - "8123:8123"   # HTTP 接口
      - "9000:9000"   # Native TCP 接口
      - "9009:9009"   # gRPC

./conf/default-user.xml 内容

<clickhouse>
  <!-- Docs: <https://clickhouse.com/docs/en/operations/settings/settings_users/> -->
  <users>
    <default>
      <!-- User default is available only locally -->
      <networks>
	< !-- 允许所有ip -->
	<ip>::/0</ip>
	<!--   <ip>127.0.0.1</ip> -->
      </networks>
    </default>
  </users>
</clickhouse>
posted @ 2025-08-21 10:06  熊先生不开玩笑  阅读(9)  评论(0)    收藏  举报