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

相关推荐
曲幽17 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
武子康3 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
Alsn865 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875246 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj6 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵6 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏6 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主6 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang6 天前
Docker 使用完整指南
运维·docker·容器
正经教主6 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器