docker安装clickhouse数据库容器

一、安装镜像

bash 复制代码
docker pull docker.1ms.run/clickhouse/clickhouse-server:latest

如果执行报错,可以尝试修改docker镜像源地址为国内镜像。

修改/etc/docker/daemon.json,如果文件不存在,则创建一个,手动写入以下内容:

html 复制代码
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}

或者直接执行命令:

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
EOF

修改完成后需要重启docker服务

bash 复制代码
systemctl restart docker

二、创建挂载目录

1.在服务器上先新建挂载目录,目录结构如下:

bash 复制代码
挂载路径    
└── clickhouse
      │
      └──node1
           ├── data
           ├── logs
           └─── configs
                  ├─config.d
                  └─user.d

2.在config.d目录下创建2个配置文件:

docker_related_config.xml

XML 复制代码
<clickhouse>
     <!-- Listen wildcard address to allow accepting connections from other containers and host network. -->
    <listen_host>::</listen_host>
    <listen_host>0.0.0.0</listen_host>
    <listen_try>1</listen_try>

    <!--
    <logger>
        <console>1</console>
    </logger>
    -->
</clickhouse>

macros.xml

XML 复制代码
<clickhouse>
    <macros>
        <shard>01</shard>
        <replica>01</replica>
		<cluster>cluster_1shards_2replicas</cluster>
    </macros>
</clickhouse>

三、创建docker容器

bash 复制代码
docker run -d \
  --name clickhouse-node1 \
  --hostname clickhouse-node1 \
  -p 18123:8123 \
  -p 19000:9000 \
  -e CLICKHOUSE_DB=dbname \
  -e CLICKHOUSE_USER=dbuser \
  -e CLICKHOUSE_PASSWORD=dbpassword \
  -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
  -v /home/user/docker/docker-mount/clickhouse/node1/configs/config.d:/etc/clickhouse-server/config.d \
  -v /home/user/docker/docker-mount/clickhouse/node1/configs/users.d:/etc/clickhouse-server/users.d \
  -v /home/user/docker/docker-mount/clickhouse/node1/data:/var/lib/clickhouse \
  -v /home/user/docker/docker-mount/clickhouse/node1/logs:/var/log/clickhouse-server \
  --ulimit nofile=262144:262144 \
  clickhouse/clickhouse-server:latest

其中CLICKHOUSE_DB、CLICKHOUSE_USER、CLICKHOUSE_PASSWORD分别指定的数据库实例、用户名和密码。

容器创建完成后,clickhouse就安装好了,进行连接测试。

相关推荐
小兔崽子去哪了13 小时前
Docker 删除镜像后磁盘空间没有释放?
后端·docker·容器
Zhu75815 小时前
在Docker环境部署ApacheGuacamole,对接PG数据库
数据库·docker·容器
少陽君16 小时前
Docker 部署 Loki + Promtail + Grafana 日志监控栈
docker·容器·grafana
独自归家的兔16 小时前
2026年7月2日 Docker 容器化部署 PaddleOCR-VL 实战(OpenAI 协议兼容 HTTP 调用)
运维·docker·容器
蜀道山老天师17 小时前
一文吃透 K8s:Deployment 滚动更新与版本回滚
云原生·容器·kubernetes
胖胖雕17 小时前
利用阿里云与docker部署Certimate
阿里云·docker·云计算
kylin-运维17 小时前
k8s可视化看板嵌入AI助手(悬浮对话球)
人工智能·容器·kubernetes·aicoding
会飞的土拨鼠呀18 小时前
Docker 容器维护手册
docker·容器·eureka
慕伏白18 小时前
【慕伏白】Docker 常用指令
docker·容器·eureka
java_logo18 小时前
Docker 部署 Trilium Notes 完整教程:自建大型知识库
docker·容器·trilium·trilium note·trilium部署·docker部署trilium·trilium部署文档