docker pull :
Versions
- Le tag
latestpointe vers la dernière version publiée de la branche stable la plus récente. - Les tags de branche comme
22.2pointent vers la dernière version publiée de la branche correspondante. - Les tags de version complets comme
22.2.3et22.2.3.5pointent vers la version publiée correspondante. - Le tag
headest construit à partir du dernier commit de la branchedefault. - Chaque tag peut avoir le suffixe facultatif
-alpine, indiquant qu’il est construit suralpine.
Compatibilité
- L’image amd64 nécessite la prise en charge des instructions SSE3. Pratiquement tous les processeurs x86 commercialisés après 2005 prennent en charge SSE3.
- L’image arm64 nécessite la prise en charge de l’architecture ARMv8.2-A ainsi que du registre Load-Acquire RCpc. Ce registre est facultatif dans ARMv8.2-A et obligatoire dans ARMv8.3-A. Pris en charge sur les instances Graviton >=2, Azure et GCP. Parmi les appareils non pris en charge figurent le Raspberry Pi 4 (ARMv8.0-A) et les Jetson AGX Xavier/Orin (ARMv8.2-A).
- Depuis ClickHouse 24.11, les images Ubuntu utilisent
ubuntu:22.04comme image de base. Cela nécessite Docker >=20.10.10avec le patch. Comme solution de contournement, vous pouvez utiliserdocker run --security-opt seccomp=unconfinedà la place, mais cela a des implications en matière de sécurité.
Utiliser cette image
Lancer une instance du serveur
default, sans mot de passe.
Connectez-vous avec un client natif
Connectez-vous avec curl
Arrêt / suppression du conteneur
Réseau
l’utilisateur prédéfini
default n’a pas accès au réseau tant qu’un mot de passe n’est pas défini,
voir “Comment créer la base de données par défaut et l’utilisateur au démarrage” et “Gérer l’utilisateur default” ci-dessous--network=host
(ce qui permet aussi d’obtenir de meilleures performances réseau) :
L’utilisateur default de l’exemple ci-dessus n’est disponible que pour les requêtes provenant de localhost
Volumes
/var/lib/clickhouse/- dossier principal où ClickHouse stocke les données/var/log/clickhouse-server/- logs
/etc/clickhouse-server/config.d/*.xml- fichiers contenant des ajustements de la configuration du serveur/etc/clickhouse-server/users.d/*.xml- fichiers contenant des ajustements des paramètres utilisateur/docker-entrypoint-initdb.d/- dossier contenant les scripts d’initialisation de la base de données (voir ci-dessous).
Capacités Linux
Configuration
Démarrer une instance du serveur avec une configuration personnalisée
Démarrer le serveur sous un utilisateur personnalisé
--user et montez /var/lib/clickhouse et /var/log/clickhouse-server dans le conteneur. Sinon, l’image signalera une erreur et ne démarrera pas.
Démarrer le serveur en tant que root
Comment créer la base de données par défaut et un utilisateur au démarrage
default est utilisé par défaut) et une base de données au démarrage d’un conteneur. Vous pouvez le faire à l’aide des variables d’environnement CLICKHOUSE_DB, CLICKHOUSE_USER, CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT et CLICKHOUSE_PASSWORD :
Gestion de l’utilisateur default
default a l’accès réseau désactivé par défaut si aucune des variables CLICKHOUSE_USER, CLICKHOUSE_PASSWORD ou CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT n’est définie.
Il est possible de rendre l’utilisateur default accessible de manière non sécurisée en définissant la variable d’environnement CLICKHOUSE_SKIP_USER_SETUP sur 1 :
Comment étendre cette image
*.sql, *.sql.gz ou *.sh dans /docker-entrypoint-initdb.d. Une fois initdb appelé par le point d’entrée, tous les fichiers *.sql seront exécutés, tous les scripts *.sh exécutables seront lancés et tous les scripts *.sh non exécutables trouvés dans ce répertoire seront chargés afin d’effectuer une initialisation supplémentaire avant le démarrage du service.
Les scripts placés dans
/docker-entrypoint-initdb.d sont exécutés dans l’ordre alphabétique des noms de fichiers. Si vos scripts dépendent les uns des autres (par exemple, si un script qui crée des vues doit s’exécuter après celui qui crée les tables référencées), assurez-vous que les noms de fichiers sont triés dans le bon ordre.CLICKHOUSE_USER & CLICKHOUSE_PASSWORD, qui seront utilisées par clickhouse-client pendant l’initialisation.
Par exemple, pour ajouter un autre utilisateur et une autre base de données, ajoutez ce qui suit à /docker-entrypoint-initdb.d/init-db.sh :