docker pull:
Versões
- A tag
latestaponta para o lançamento mais recente da branch estável mais recente. - Tags de branch como
22.2apontam para o lançamento mais recente da branch correspondente. - Tags de versão completa como
22.2.3e22.2.3.5apontam para o lançamento correspondente. - A tag
headé gerada a partir do commit mais recente na branch padrão. - Cada tag tem um sufixo opcional
-alpinepara indicar que foi construída com base emalpine.
Compatibilidade
- A imagem amd64 requer suporte a instruções SSE3. Praticamente todas as CPUs x86 posteriores a 2005 oferecem suporte a SSE3.
- A imagem arm64 requer suporte à arquitetura ARMv8.2-A e, adicionalmente, ao registrador Load-Acquire RCpc. O registrador é opcional na versão ARMv8.2-A e obrigatório em ARMv8.3-A. Há suporte em instâncias Graviton >=2, Azure e GCP. Exemplos de dispositivos sem suporte são Raspberry Pi 4 (ARMv8.0-A) e Jetson AGX Xavier/Orin (ARMv8.2-A).
- Desde o ClickHouse 24.11, as imagens do Ubuntu passaram a usar
ubuntu:22.04como imagem base. Isso requer o Docker >=20.10.10, contendo o patch. Como alternativa, você pode usardocker run --security-opt seccomp=unconfined, porém isso tem implicações de segurança.
Como usar esta imagem
Iniciar a instância do servidor
default, sem senha.
Conecte-se usando um cliente nativo
Conecte-se a ele com curl
Parar / remover o contêiner
Rede
o usuário predefinido
default não tem acesso à rede, a menos que uma senha seja definida.
Veja “Como criar o banco de dados padrão e o usuário na inicialização” e “Gerenciando o usuário default” abaixo.--network=host
(também permite obter melhor desempenho de rede):
O usuário default no exemplo acima está disponível apenas para requisições feitas a partir de localhost
Volumes
/var/lib/clickhouse/- pasta principal em que o ClickHouse armazena os dados/var/log/clickhouse-server/- logs
/etc/clickhouse-server/config.d/*.xml- arquivos com ajustes na configuração do servidor/etc/clickhouse-server/users.d/*.xml- arquivos com ajustes na configuração do usuário/docker-entrypoint-initdb.d/- pasta com scripts de inicialização do banco de dados (veja abaixo).
Capacidades do Linux
Configuração
Iniciar instância do servidor com configuração personalizada
Iniciar o servidor como um usuário personalizado
--user e monte /var/lib/clickhouse e /var/log/clickhouse-server dentro do contêiner. Caso contrário, a imagem apresentará erro e não iniciará.
Iniciar o servidor como root
Como criar o banco de dados padrão e o usuário na inicialização
default é usado por padrão) e um banco de dados ao iniciar um contêiner. Você pode fazer isso usando as variáveis de ambiente CLICKHOUSE_DB, CLICKHOUSE_USER, CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT e CLICKHOUSE_PASSWORD:
Gerenciando o usuário default
default tem o acesso à rede desabilitado por padrão caso nenhuma das variáveis CLICKHOUSE_USER, CLICKHOUSE_PASSWORD ou CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT esteja definida.
Há uma forma de disponibilizar o usuário default de maneira insegura definindo a variável de ambiente CLICKHOUSE_SKIP_USER_SETUP como 1:
Como estender esta imagem
*.sql, *.sql.gz ou *.sh em /docker-entrypoint-initdb.d. Depois que o entrypoint chamar initdb, ele executará todos os arquivos *.sql, executará todos os scripts *.sh executáveis e carregará todos os scripts *.sh não executáveis encontrados nesse diretório para realizar etapas adicionais de inicialização antes de iniciar o serviço.
Os scripts em
/docker-entrypoint-initdb.d são executados em ordem alfabética pelo nome do arquivo. Se os seus scripts tiverem dependências entre si (por exemplo, um script que cria views precisa ser executado depois do script que cria as tabelas referenciadas), garanta que os nomes dos arquivos fiquem na ordem correta.CLICKHOUSE_USER & CLICKHOUSE_PASSWORD, que serão usadas pelo clickhouse-client durante a inicialização.
Por exemplo, para adicionar outro usuário e outro banco de dados, adicione o seguinte a /docker-entrypoint-initdb.d/init-db.sh: