拉取clickhouse-server镜像
docker pull yandex/clickhouse-server
启动临时容器,目的:拷贝容器内配置文件
docker run -d --rm --name=temp yandex/clickhouse-server
// -d 后台运行
// --rm 启动临时容器,当容器停掉后,容器自动删除
// --name 容器名称
宿主机创建目录,用于存放配置文件、数据、日志(我是放在/usr/local/clickhouse下)
sudo mkdir -p /usr/local/clickhouse/conf /usr/local/clickhouse/data /usr/local/clickhouse/log
将容器内配置文件拷贝到宿主机
docker cp temp:/etc/clickhouse-server/users.xml /usr/local/clickhouse/conf/users.xml
docker cp temp:/etc/clickhouse-server/config.xml /usr/local/clickhouse/conf/config.xml
修改连接用户名、密码(users.xml)
1.执行命令,生成SHA256密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
2.返回结果
XwCoKBgV #密码明文
2c297a5ee6d922c0472dee50d3067ea1ce99dd54e765247e287f9ca262525a63 #密文
3.修改users.xml配置文件
<users>
<root> <password_sha256_hex>2c297a5ee6d922c0472dee50d3067ea1ce99dd54e765247e287f9ca262525a63</password_sha256_hex>
<networks>
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</root>
</users>
启动clickhouse容器
docker run -d --name clickhouse-server \
-p 8123:8123 \
-p 9009:9009 \
-p 9090: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
到这里就安装成功了,可以用dbeaver连接使用了