docker compose 安装clickhouse 24.3
- 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 处可以修改密码,和用户名。
- 如果不用网络的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>

浙公网安备 33010602011771号