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就安装好了,进行连接测试。

相关推荐
半旧夜夏8 小时前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器
宇明一不急10 小时前
k8s HPA storageclass configmap
云原生·容器·kubernetes
ZzzZZzzzZZZzzzz…12 小时前
Docker + K8s集群搭建实战:1 Master+2 Node,含Harbor私有仓库与软路由
docker·云原生·容器·kubernetes·容器编排·集群部署·cri-dockerd
xier_ran13 小时前
【infra之路】模块三:Kubernetes (下) — 阶段一毕业项目:在集群里跑 PyTorch 训练
pytorch·容器·kubernetes
Waay13 小时前
K8s新手实操|emptyDir卷超详细实战(附完整命令+核心理解)
云原生·容器·kubernetes
liux352814 小时前
K8s 核心接口:CNI、CSI、CRI、LB 一篇讲透
云原生·容器·kubernetes
香气袭人知骤暖14 小时前
人大金仓(KingbaseES)Docker 容器自动备份方案
运维·docker·容器
大熊程序猿15 小时前
MarkItDown Docker安装
运维·docker·容器
Hello_worlds15 小时前
Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
docker·kafka·磁盘·排障
wgc2k15 小时前
Nest.js基础-6:关于Claude Code
人工智能·docker·node.js