注意:这是https://hub.docker.com/_/clickhouse%E7%9A%84%60amd64%60%E6%9E%B6%E6%9E%84%E6%9E%84%E5%BB%BA%E7%9A%84%22%E6%AF%8F%E6%9E%B6%E6%9E%84%22%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%84https://github.com/docker-library/official-images#architectures-other-than-amd64%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
维护者:
https://github.com/ClickHouse/ClickHouse
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux或Stack Overflow
Dockerfile链接https://github.com/ClickHouse/docker-library/blob/5ed67d07b9e3aeb6592de702fa53c1f3e8209a71/server/26.3.3.20/Dockerfile.ubuntu
https://github.com/ClickHouse/docker-library/blob/5ed67d07b9e3aeb6592de702fa53c1f3e8209a71/server/26.2.7.17/Dockerfile.ubuntu
https://github.com/ClickHouse/docker-library/blob/5ed67d07b9e3aeb6592de702fa53c1f3e8209a71/server/26.1.7.13/Dockerfile.ubuntu
https://github.com/ClickHouse/docker-library/blob/5ed67d07b9e3aeb6592de702fa53c1f3e8209a71/server/25.8.21.7/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/%E3%80%81https://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倍,每台服务器每秒可处理数亿到超过十亿行数据以及数十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%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95%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 amd64/clickhouse
默认情况下,ClickHouse仅可通过Docker网络访问。详见下文网络部分。
默认情况下,上述启动的服务器实例将以default用户运行,无密码。
bashdocker run -it --rm --network=container:some-clickhouse-server --entrypoint clickhouse-client amd64/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 -p 19000:9000 -e CLICKHOUSE_PASSWORD=changeme --name some-clickhouse-server --ulimit nofile=262144:262144 amd64/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 amd64/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 amd64/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 amd64/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 amd64/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" amd64/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" amd64/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 amd64/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 amd64/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
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可。
以下是 amd64/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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务