ClickHouse HOLs
GitHub

ClickHouse OSS Environment


ClickHouse development environment on Docker (macOS, Linux) with a seccomp security profile.

✨ Features

🚀 Quick Start

# 1. Setup (first time only) - defaults to latest version
./set.sh

# Or specify a version
./set.sh 25.10

# 2. Start
./start.sh

# 3. Connect
./client.sh

📍 Connection Information

🛠 Management Scripts

Setup

Operations

🔧 Advanced Usage

# View real-time logs
docker compose logs -f

# Execute SQL directly
docker compose exec clickhouse clickhouse-client --query "SHOW DATABASES"

# Access container shell
docker compose exec clickhouse bash

📂 Data Storage

Data is stored in Docker Named Volumes for persistence: - clickhouse-oss_clickhouse_data - Database files - clickhouse-oss_clickhouse_logs - Log files

🔄 Updates

# Update to new version
docker compose pull
docker compose up -d

🔧 Troubleshooting

get_mempolicy Error

This setup includes a custom seccomp profile that resolves the common get_mempolicy: Operation not permitted error. The profile allows necessary NUMA memory policy syscalls (get_mempolicy, set_mempolicy, mbind).

Container Won't Start

  1. Check Docker is running: docker info
  2. Check logs: docker logs clickhouse-oss
  3. Verify seccomp profile exists: ls -la seccomp-profile.json

Permission issues

This setup uses Docker Named Volumes instead of bind mounts to avoid host permission issues with ClickHouse data directories (macOS and Windows file sharing in particular).

📋 System Requirements

🔐 Security

License

MIT — same as the rest of the repository.


영어 원문을 LLM 도움으로 번역했습니다(2026-10-06).

Docker(macOS, Linux)에서 seccomp 보안 프로파일과 함께 쓰는 ClickHouse 개발 환경입니다.

✨ 기능

🚀 빠른 시작

# 1. Setup (first time only) - defaults to latest version
./set.sh

# Or specify a version
./set.sh 25.10

# 2. Start
./start.sh

# 3. Connect
./client.sh

📍 접속 정보

🛠 관리 스크립트

설정

운영

🔧 고급 사용법

# View real-time logs
docker compose logs -f

# Execute SQL directly
docker compose exec clickhouse clickhouse-client --query "SHOW DATABASES"

# Access container shell
docker compose exec clickhouse bash

📂 데이터 저장

데이터는 영구 보존을 위해 Docker Named Volume에 저장됩니다. - clickhouse-oss_clickhouse_data - 데이터베이스 파일 - clickhouse-oss_clickhouse_logs - 로그 파일

🔄 업데이트

# Update to new version
docker compose pull
docker compose up -d

🔧 트러블슈팅

get_mempolicy 오류

이 환경에는 흔히 발생하는 get_mempolicy: Operation not permitted 오류를 해결하는 커스텀 seccomp 프로파일이 포함되어 있습니다. 이 프로파일은 NUMA 메모리 정책에 필요한 시스템 콜(get_mempolicy, set_mempolicy, mbind)을 허용합니다.

컨테이너가 시작되지 않을 때

  1. Docker가 실행 중인지 확인: docker info
  2. 로그 확인: docker logs clickhouse-oss
  3. seccomp 프로파일이 있는지 확인: ls -la seccomp-profile.json

권한 문제

이 환경은 ClickHouse 데이터 디렉터리에서 생기는 호스트 권한 문제(특히 macOS와 Windows의 파일 공유)를 피하기 위해 bind mount 대신 Docker Named Volume을 사용합니다.

📋 시스템 요구사항

🔐 보안

License

MIT — 저장소 전체와 동일합니다.

Open this lab on GitHub →GitHub에서 이 실습 열기 →