1、拉取镜像
docker pull yandex/clickhouse-server
2、临时启动clickhouse
# 临时开启clickhouse
docker run -d --name clickhouse --ulimit nofile=262144:262144 yandex/clickhouse-server
# 进入容器
# docker exec -it clickhouse /bin/bash
# 从容器中复制配置文件到宿主机(需要在宿主机上执行此命令,不能在容器中执行)
mkdir /opt/docker-clickhouse
docker cp clickhouse:/etc/clickhouse-server /opt/docker-clickhouse/conf
# 删除临时的clickhouse
docker rm -f clickhouse
3、准备配置文件
# 1、成一个double_shal 加密密码
echo "jngkang"; echo -n "jngkang" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
# 明文
jngkang
# 密文
66143f188c656217ce73d08a044bb7acafa0c165
# 2、在config.xml配置文件中添加如下配置,打开远程链接访问
<listen_host>0.0.0.0</listen_host>
# 3、在users.xml配置文件中注释掉password,再添加加密后的密码
<!-- <password></password> -->
<password_double_sha1_hex>66143f188c656217ce73d08a044bb7acafa0c165</password_double_sha1_hex>
4、准备配置文件
docker run \
--name clickhouse \
-d \
--ulimit nofile=262144:262144 \
-p 3123:8123 -p 3100:9000 \
--restart=always \
-v /opt/docker-clickhouse/data:/var/lib/clickhouse \
-v /opt/docker-clickhouse/conf:/etc/clickhouse-server \
-v /opt/docker-clickhouse/logs:/var/log/clickhouse-server \
-v /etc/localtime:/etc/localtime \
yandex/clickhouse-server
# --ulimit nofile=262144:262144:将进程允许打开的文件数增加到262144个
# -p 8123:8123:ClickHouse的HTTP接口,用于执行查询、管理数据库、查看性能指标等。
# -p 9000:9000:ClickHouse的TCP接口,用于客户端和服务端之间的数据传输。
# -v /etc/localtime:/etc/localtime:ClickHouse容器内的时间与宿主机的时间保持一致。