Image Overview: clickhouse

Overview: clickhouse Chainguard Image

Clickhouse is the fastest and most resource efficient open-source database for real-time apps and analytics.

Download this Image

The image is available on

docker pull

Using Clickhouse

The default Clickhouse listen_host is and port is 8123.

start server instance

To run with Docker and allow empty passwords:

docker run -d --ulimit nofile=262144:262144

By default, ClickHouse will be accessible only via the Docker network. See the networking section below.

By default, starting above server instance will be run as the default user without password.

Users and Directories

By default, this image runs as a non-root user named clickhouse with a uid of 101 and a home directory of /home/clickhouse.


Typically you may want to mount the following folders inside your container to achieve persistency:

  • /var/lib/clickhouse/ - main folder where ClickHouse stores the data
  • /var/log/clickhouse-server/ - logs
docker run -d \
    -v $(realpath ./ch_data):/var/lib/clickhouse/ \
    -v $(realpath ./ch_logs):/var/log/clickhouse-server/ \
    --ulimit nofile=262144:262144

You may also want to mount:

  • /etc/clickhouse-server/config.d/*.xml - files with server configuration adjustmenets
  • /etc/clickhouse-server/users.d/*.xml - files with user settings adjustmenets
  • /docker-entrypoint-initdb.d/ - folder with database initialization scripts (see below).

Docker Compose Example

This docker-compose.yaml sets up a Clickhouse database with a default database and user.

version: "3.7"
    restart: unless-stopped
    entrypoint: /usr/bin/clickhouse-server -- --listen_host
    working_dir: /home/clickhouse
      - 8123:8123
      - ./data/clickhouse:/var/lib/clickhouse
      - ./logs/clickhouse:/var/log/clickhouse-server
      - wolfi

    driver: bridge

Advanced Configuration

Please refer to Clickhouse’s documentation for more advanced configuration.

Last updated: 2024-04-11 12:38