docker安装clickhouse数据库容器

一、安装镜像

bash 复制代码
docker pull docker.1ms.run/clickhouse/clickhouse-server:latest

如果执行报错,可以尝试修改docker镜像源地址为国内镜像。

修改/etc/docker/daemon.json,如果文件不存在,则创建一个,手动写入以下内容:

html 复制代码
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}

或者直接执行命令:

bash 复制代码
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
EOF

修改完成后需要重启docker服务

bash 复制代码
systemctl restart docker

二、创建挂载目录

1.在服务器上先新建挂载目录,目录结构如下:

bash 复制代码
挂载路径    
└── clickhouse
      │
      └──node1
           ├── data
           ├── logs
           └─── configs
                  ├─config.d
                  └─user.d

2.在config.d目录下创建2个配置文件:

docker_related_config.xml

XML 复制代码
<clickhouse>
     <!-- Listen wildcard address to allow accepting connections from other containers and host network. -->
    <listen_host>::</listen_host>
    <listen_host>0.0.0.0</listen_host>
    <listen_try>1</listen_try>

    <!--
    <logger>
        <console>1</console>
    </logger>
    -->
</clickhouse>

macros.xml

XML 复制代码
<clickhouse>
    <macros>
        <shard>01</shard>
        <replica>01</replica>
		<cluster>cluster_1shards_2replicas</cluster>
    </macros>
</clickhouse>

三、创建docker容器

bash 复制代码
docker run -d \
  --name clickhouse-node1 \
  --hostname clickhouse-node1 \
  -p 18123:8123 \
  -p 19000:9000 \
  -e CLICKHOUSE_DB=dbname \
  -e CLICKHOUSE_USER=dbuser \
  -e CLICKHOUSE_PASSWORD=dbpassword \
  -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
  -v /home/user/docker/docker-mount/clickhouse/node1/configs/config.d:/etc/clickhouse-server/config.d \
  -v /home/user/docker/docker-mount/clickhouse/node1/configs/users.d:/etc/clickhouse-server/users.d \
  -v /home/user/docker/docker-mount/clickhouse/node1/data:/var/lib/clickhouse \
  -v /home/user/docker/docker-mount/clickhouse/node1/logs:/var/log/clickhouse-server \
  --ulimit nofile=262144:262144 \
  clickhouse/clickhouse-server:latest

其中CLICKHOUSE_DB、CLICKHOUSE_USER、CLICKHOUSE_PASSWORD分别指定的数据库实例、用户名和密码。

容器创建完成后,clickhouse就安装好了,进行连接测试。

相关推荐
无人生还别怕8 小时前
如何搭建k8s服务(containerd部署)
linux·云原生·容器·kubernetes·openanolisos
杨浦老苏8 小时前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖
木雷坞9 小时前
Baserow Docker部署:导入设备借用CSV,再用表单新增登记
运维·docker·容器
fb_1234510 小时前
从探针到权限:一篇吃透 Kubernetes 健康检查、RBAC 认证授权与 Dashboard 可视化管理
云原生·容器·kubernetes
wefg110 小时前
【Docker】基本指令
运维·docker·容器
mengge.cloud10 小时前
10-28-Kubernetes健康检查认证授权与Dashboard
云原生·容器·kubernetes
牛马工作号12 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
运维·docker·容器
oioihoii13 小时前
Windows部署MySpeed自建测速服务:Docker运行后直接测速,再配置固定公网地址远程查看
运维·docker·容器
Jack N15 小时前
【Strapi 系列之八】二次开发 + 生产部署,Docker + PostgreSQL + Nginx 一把梭
nginx·docker·postgresql·strapi
艾伦_耶格宇15 小时前
【kubernetes - 1.28版本】-7 K8S命令
云原生·容器·kubernetes