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

相关推荐
隔窗听雨眠2 小时前
生产级Kubernetes集群部署完全指南:从kubeadm到高可用架构落地
容器·架构·kubernetes
小小洋洋3 小时前
OpenWrt 从U盘迁移到内置 eMMC,并完成扩容与 Docker 安装
java·docker·eureka
Eloudy3 小时前
docker build 与 docker buildx build 的应用场景
docker·构建
瞬间&永恒~3 小时前
【Docker】(三)联合文件系统UnionFS + Overlay2
docker·云原生·容器
数据知道6 小时前
主机入侵检测(HIDS):OSSEC / Wazuh 部署与规则编写
安全·网络安全·docker
逐光老顽童7 小时前
第 5 章:搞懂 K8s Service:从 ClusterIP 到负载均衡
docker·云原生·容器
花生了什么事o9 小时前
Docker 部署 SpringBoot:从镜像构建到服务器运行
服务器·spring boot·docker
Eloudy9 小时前
国内加速 docker pull 下载 docker images,特别是 nvidia 的cuda image
docker·gpu·rdma
Chief_fly9 小时前
ARM 麒麟系统服务器构建docker镜像
运维·服务器·docker
yj_xqj1 天前
Docker 基础应用与介绍
运维·docker·容器