一. 拉取镜像
docker pull yandex/clickhouse-server:20.8.19
二. 修改配置
1. 启动临时容器,目的:拷贝容器内配置文件
docker run -d --rm --name=temp yandex/clickhouse-server:20.8.19
docker ps
2. 宿主机创建目录,用于存放配置文件、数据、日志
sudo mkdir -p /usr/local/clickhouse/conf /usr/local/clickhouse/data /usr/local/clickhouse/log
3. 将容器内配置文件拷贝到宿主机
sudo docker cp temp:/etc/clickhouse-server/users.xml /usr/local/clickhouse/conf/users.xml
sudo docker cp temp:/etc/clickhouse-server/config.xml /usr/local/clickhouse/conf/config.xml
4. 修改配置文件
cd /usr/local/clickhouse/conf
sudo vim config.xml
<max_server_memory_usage>10000000000</max_server_memory_usage>
sudo vim users.xml
<max_memory_usage>10000000000</max_memory_usage>
<!-- 当分组操作占用超xx时,缓存到磁盘,建议内存一半-->
<max_bytes_before_external_group_by>5000000000</max_bytes_before_external_group_by>
<!-- 当排序操作占用超xx时,缓存到磁盘,建议内存一半-->
<max_bytes_before_external_sort>5000000000</max_bytes_before_external_sort>
<password>1uYxRua5</password>
<access_management>1</access_management>
四. 启动
docker run -d --name clickhouse-server -p 8126:8123 -p 8127:9009 -p 8128:9000 --ulimit nofile=262144:262144 --volume=/usr/local/clickhouse/data:/var/lib/clickhouse --volume=/usr/local/clickhouse/log:/var/log/clickhouse-server --volume=/usr/local/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml --volume=/usr/local/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml yandex/clickhouse-server:20.8.19
docker ps
cd /usr/local/clickhouse/log