注意:这是https://hub.docker.com/_/clickhouse%E7%9A%84%60arm64v8%60%E6%9E%B6%E6%9E%84%E6%9E%84%E5%BB%BA%E7%9A%84%E2%80%9C%E6%AF%8F%E6%9E%B6%E6%9E%84%E2%80%9D%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/official-images#architectures-other-than-amd64%E2%80%9D%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E2%80%9D%E3%80%82
维护者:
https://github.com/ClickHouse/ClickHouse
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接https://github.com/ClickHouse/docker-library/blob/6fc329d5c3b2f258912918a2e4ada0e6a15e5a97/server/25.9.4.58/Dockerfile.ubuntu
https://github.com/ClickHouse/docker-library/blob/6fc329d5c3b2f258912918a2e4ada0e6a15e5a97/server/25.8.10.7/Dockerfile.ubuntu
https://github.com/ClickHouse/docker-library/blob/6fc329d5c3b2f258912918a2e4ada0e6a15e5a97/server/25.7.8.71/Dockerfile.ubuntu
https://github.com/ClickHouse/docker-library/blob/6fc329d5c3b2f258912918a2e4ada0e6a15e5a97/server/25.3.7.194/Dockerfile.ubuntu
问题提交地址:
https://github.com/ClickHouse/ClickHouse/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/clickhouse/, https://hub.docker.com/r/arm64v8/clickhouse/
已发布镜像制品详情:
https://github.com/docker-library/repo-info/blob/master/repos/clickhouse%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/clickhouse%EF%BC%89
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fclickhouse
https://github.com/docker-library/official-images/blob/master/library/clickhouse%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/clickhouse%EF%BC%89
本描述的来源:
https://github.com/docker-library/docs/tree/master/clickhouse%EF%BC%88https://github.com/docker-library/docs/commits/master/clickhouse%EF%BC%89
!https://raw.githubusercontent.com/docker-library/docs/007e3209490145a9855f4825218a9a08753d425b/clickhouse/logo.svg?sanitize=true
ClickHouse是一个开源的列式数据库管理系统(DBMS),用于在线分析处理(OLAP),允许用户使用SQL查询实时生成分析报告。
ClickHouse的运行速度比传统数据库管理系统快100-1000倍,每台服务器每秒可处理数亿到超过10亿行数据以及数十GB的数据。凭借全球广泛的用户基础,该技术因其可靠性、易用性和容错性而广受好评。
更多信息和文档请参见[***]
latest标签指向最新稳定分支的最新版本。22.2)指向对应分支的最新版本。22.2.3和22.2.3.5)指向对应版本。ubuntu:22.04作为基础镜像。它需要docker版本>=20.10.10(包含https://github.com/moby/moby/commit/977283509f75303bc6612665a04abf76ff1d2468%EF%BC%89%E3%80%82%E4%BD%9C%E4%B8%BA%E6%9B%BF%E4%BB%A3%E6%96%B9%E6%A1%88%EF%BC%8C%E5%8F%AF%E4%BD%BF%E7%94%A8%60docker run --security-opt seccomp=unconfined`,但这存在安全隐患。bashdocker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 arm64v8/clickhouse
默认情况下,ClickHouse仅通过Docker网络可访问。详见下文“网络”部分。
默认情况下,上述启动的服务器实例将以default用户运行,无密码。
bashdocker run -it --rm --network=container:some-clickhouse-server --entrypoint clickhouse-client arm64v8/clickhouse # 或 docker exec -it some-clickhouse-server clickhouse-client
更多关于ClickHouse客户端的信息。
bashecho "SELECT 'Hello, ClickHouse!'" | docker run -i --rm --network=container:some-clickhouse-server buildpack-deps:curl curl 'http://localhost:8123/?query=' -s --data-binary @-
更多关于ClickHouse HTTP接口的信息。
bashdocker stop some-clickhouse-server docker rm some-clickhouse-server
⚠️ 注意:预定义用户
default在未设置密码的情况下没有网络访问权限,详见下文“如何在启动时创建默认数据库和用户”和“管理default用户”
可通过映射容器内的特定端口到主机端口来暴露Docker中运行的ClickHouse:
bashdocker run -d -p 18123:8123 -p19000:9000 -e CLICKHOUSE_PASSWORD=changeme --name some-clickhouse-server --ulimit nofile=262144:262144 arm64v8/clickhouse echo 'SELECT version()' | curl 'http://localhost:18123/?password=changeme' --data-binary @-
22.6.3.35
或通过使用--network=host允许容器直接使用主机端口(也可获得更好的网络性能):
bashdocker run -d --network=host --name some-clickhouse-server --ulimit nofile=262144:262144 arm64v8/clickhouse echo 'SELECT version()' | curl 'http://localhost:8123/' --data-binary @-
22.6.3.35
⚠️ 注意:上述示例中的
default用户仅允许本地主机请求访问
通常,你可能需要挂载以下文件夹到容器内以实现持久化:
/var/lib/clickhouse/ - ClickHouse存储数据的主文件夹/var/log/clickhouse-server/ - 日志文件夹bashdocker run -d \ -v "$PWD/ch_data:/var/lib/clickhouse/" \ -v "$PWD/ch_logs:/var/log/clickhouse-server/" \ --name some-clickhouse-server --ulimit nofile=262144:262144 arm64v8/clickhouse
你可能还需要挂载:
/etc/clickhouse-server/config.d/*.xml - 服务器配置调整文件/etc/clickhouse-server/users.d/*.xml - 用户设置调整文件/docker-entrypoint-initdb.d/ - 数据库初始化脚本文件夹(见下文)。ClickHouse的某些高级功能需要启用多个Linux capabilities。
它们是可选的,可通过以下docker命令行参数启用:
bashdocker run -d \ --cap-add=SYS_NICE --cap-add=NET_ADMIN --cap-add=IPC_LOCK \ --name some-clickhouse-server --ulimit nofile=262144:262144 arm64v8/clickhouse
更多信息见知识库。
容器暴露端口8123用于HTTP接口,端口9000用于原生客户端。
ClickHouse配置由文件“config.xml”表示(文档)
bashdocker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml arm64v8/clickhouse
bash# $PWD/data/clickhouse应存在且归当前用户所有 docker run --rm --user "${UID}:${GID}" --name some-clickhouse-server --ulimit nofile=262144:262144 -v "$PWD/logs/clickhouse:/var/log/clickhouse-server" -v "$PWD/data/clickhouse:/var/lib/clickhouse" arm64v8/clickhouse
当使用挂载本地目录的镜像时,你可能需要指定用户以维护正确的文件所有权。使用--user参数并将/var/lib/clickhouse和/var/log/clickhouse-server挂载到容器内。否则,镜像将报错且无法启动。
bashdocker run --rm -e CLICKHOUSE_RUN_AS_ROOT=1 --name clickhouse-server-userns -v "$PWD/logs/clickhouse:/var/log/clickhouse-server" -v "$PWD/data/clickhouse:/var/lib/clickhouse" arm64v8/clickhouse
有时你可能希望在容器启动时创建用户(默认使用default用户)和数据库。可通过环境变量CLICKHOUSE_DB、CLICKHOUSE_USER、CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT和CLICKHOUSE_PASSWORD实现:
bashdocker run --rm -e CLICKHOUSE_DB=my_database -e CLICKHOUSE_USER=username -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 -e CLICKHOUSE_PASSWORD=password -p 9000:9000/tcp arm64v8/clickhouse
管理default用户
在未设置CLICKHOUSE_USER、CLICKHOUSE_PASSWORD或CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT的情况下,default用户默认禁用网络访问。
可通过将环境变量CLICKHOUSE_SKIP_USER_SETUP设置为1,使default用户不安全地可访问:
bashdocker run --rm -e CLICKHOUSE_SKIP_USER_SETUP=1 -p 9000:9000/tcp arm64v8/clickhouse
要在此镜像的派生镜像中执行额外初始化,可在/docker-entrypoint-initdb.d下添加一个或多个*.sql、*.sql.gz或*.sh脚本。在入口点调用initdb后,它将运行该目录中找到的所有*.sql文件、可执行*.sh脚本,并 sourcing 非可执行*.sh脚本,以在启动服务前进行进一步初始化。
此外,可提供环境变量CLICKHOUSE_USER和CLICKHOUSE_PASSWORD,初始化期间将用于clickhouse-client。
例如,要添加额外用户和数据库,可在/docker-entrypoint-initdb.d/init-db.sh中添加以下内容:
bash#!/bin/bash set -e clickhouse client -n <<-EOSQL CREATE DATABASE docker; CREATE TABLE docker.docker (x Int32) ENGINE = Log; EOSQL
查看此镜像中包含的软件的https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE%E3%80%82
与所有Docker镜像一样,这些镜像可能还包含其他软件,可能受其他许可证约束(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
一些能够自动检测到的额外许可信息可能位于https://github.com/docker-library/repo-info/tree/master/repos/clickhouse%E4%B8%AD%E3%80%82
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。
以下是 arm64v8/clickhouse 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务