الإصدارات
- تشير العلامة
latestإلى أحدث إصدار من أحدث فرع مستقر. - تشير علامات الفروع مثل
22.2إلى أحدث إصدار من الفرع المقابل. - تشير علامات الإصدار الكاملة مثل
22.2.3و22.2.3.5إلى الإصدار المقابل. - تُبنى العلامة
headمن أحدثcommitعلى الفرع الافتراضي. - تحمل كل علامة لاحقة اختيارية هي
-alpineللدلالة على أنها مبنية علىalpine.
التوافق
- تتطلب صورة amd64 دعم تعليمات SSE3. تكاد جميع معالجات x86 بعد عام 2005 تدعم SSE3.
- تتطلب صورة arm64 دعم معمارية ARMv8.2-A و بالإضافة إلى ذلك سجل Load-Acquire RCpc. هذا السجل اختياري في الإصدار ARMv8.2-A وإلزامي في ARMv8.3-A. وهو مدعوم في Graviton >=2، ومثيلات Azure وGCP. ومن أمثلة الأجهزة غير المدعومة Raspberry Pi 4 (ARMv8.0-A) وJetson AGX Xavier/Orin (ARMv8.2-A).
- منذ ClickHouse 24.11 بدأت صور Ubuntu باستخدام
ubuntu:22.04كصورة الأساس لها. وهي تتطلب إصدار Docker >=20.10.10يحتوي على تصحيح. وكحل بديل، يمكنك استخدامdocker run --security-opt seccomp=unconfinedبدلًا من ذلك، إلا أن لذلك تبعات أمنية.
طريقة استخدام هذه الصورة
تشغيل مثيل الخادم
default من دون كلمة مرور.
الاتصال به باستخدام العميل الأصلي
استخدم curl للاتصال به
إيقاف الحاوية / إزالتها
الشبكات
لا يملك المستخدم
default المُعرَّف مسبقًا صلاحية الوصول إلى الشبكة ما لم يتم تعيين كلمة مرور،
راجع “كيفية إنشاء قاعدة البيانات الافتراضية والمستخدم عند بدء التشغيل” و”إدارة المستخدم default” أدناه--network=host
(وهو ما يتيح أيضًا أداءً أفضل للشبكة):
المستخدم default في المثال أعلاه متاح فقط للطلبات الواردة من localhost
وحدات التخزين
/var/lib/clickhouse/- المجلد الرئيسي الذي يخزّن فيه ClickHouse البيانات/var/log/clickhouse-server/- السجلات
/etc/clickhouse-server/config.d/*.xml- ملفات تتضمن تعديلات على تهيئة الخادم/etc/clickhouse-server/users.d/*.xml- ملفات تتضمن تعديلات على إعدادات المستخدم/docker-entrypoint-initdb.d/- مجلد يحتوي على نصوص برمجية لتهيئة قاعدة البيانات (انظر أدناه).
ميزات Linux الأمنية
التهيئة
بدء مثيل الخادم باستخدام تهيئة مخصّصة
تشغيل server باستخدام مستخدم مخصص
--user، واربط /var/lib/clickhouse و/var/log/clickhouse-server داخل الحاوية. وإلا فستعرض الصورة رسالة خطأ ولن تبدأ.
بدء تشغيل الخادم من المستخدم الجذر
كيفية إنشاء قاعدة البيانات الافتراضية والمستخدم عند بدء التشغيل
default افتراضيًا) وقاعدة بيانات عند بدء الحاوية. يمكنك القيام بذلك باستخدام متغيرات البيئة CLICKHOUSE_DB وCLICKHOUSE_USER وCLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT وCLICKHOUSE_PASSWORD:
إدارة المستخدم default
default عبر الشبكة معطّلًا افتراضيًا إذا لم يتم تعيين أي من CLICKHOUSE_USER أو CLICKHOUSE_PASSWORD أو CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT.
يمكن إتاحة المستخدم default بشكل غير آمن عن طريق تعيين متغير البيئة CLICKHOUSE_SKIP_USER_SETUP إلى 1:
كيفية توسيع هذه الصورة
*.sql أو *.sql.gz أو *.sh ضمن /docker-entrypoint-initdb.d. بعد أن يستدعي entrypoint الأمر initdb، سيُنفِّذ أي ملفات *.sql، ويُشغِّل أي نصوص برمجية *.sh قابلة للتنفيذ، ويُضمِّن أي نصوص برمجية *.sh غير قابلة للتنفيذ موجودة في ذلك الدليل لإجراء مزيد من التهيئة قبل بدء الخدمة.
تُنفَّذ النصوص البرمجية الموجودة ضمن
/docker-entrypoint-initdb.d بترتيب أبجدي حسب اسم الملف. إذا كانت نصوصك البرمجية تعتمد على بعضها بعضًا (على سبيل المثال، نص برمجي يُنشئ views يجب أن يعمل بعد النص البرمجي الذي يُنشئ الجداول المشار إليها)، فتأكَّد من أن أسماء الملفات مرتبة بالترتيب الصحيح.CLICKHOUSE_USER وCLICKHOUSE_PASSWORD لاستخدامهما مع clickhouse-client أثناء التهيئة.
على سبيل المثال، لإضافة مستخدم آخر وقاعدة بيانات أخرى، أضف ما يلي إلى /docker-entrypoint-initdb.d/init-db.sh: