当前位置: 首页> 健康> 养生 > 网站代运营合作协议_建设企业网站初始必备的六大功能_无锡百度关键词优化_今日新闻最新

网站代运营合作协议_建设企业网站初始必备的六大功能_无锡百度关键词优化_今日新闻最新

时间:2025/7/12 5:45:43来源:https://blog.csdn.net/qq_35757427/article/details/146340610 浏览次数:2次
网站代运营合作协议_建设企业网站初始必备的六大功能_无锡百度关键词优化_今日新闻最新

ClickHouse Docker 容器迁移指南:从测试环境到离线正式环境

在实际开发和运维过程中,我们经常需要将测试环境中的服务迁移到正式环境,尤其是当正式环境处于离线状态时,这种迁移会变得更加复杂。本文将详细介绍如何将运行在 Docker 中的 ClickHouse 服务从测试环境迁移到无法联网的正式环境,并确保数据和配置的一致性。

环境版本说明

项目测试环境正式环境说明
操作系统Linux x86_64Linux x86_64确保两个环境的操作系统架构一致。
Docker 版本Docker 18.06.3-ceDocker 24.0.6版本差异较大,但通常不影响镜像迁移。
ClickHouse 镜像clickhouse-server:latest
镜像 ID: 6bfc295513dd
clickhouse-server:latest
镜像 ID: 待迁移后确认
确保镜像版本一致,避免兼容性问题。
数据存储路径/home/clickhouse/data/home/clickhouse/data数据目录路径需要一致,以确保数据迁移后能够正确加载。
配置文件路径/home/clickhouse/conf/home/clickhouse/conf配置文件路径需要一致,以确保 ClickHouse 使用正确的配置启动。
端口映射8123:8123
19000:9000
8123:8123
19000:9000
确保端口映射一致,以便服务能够正常访问。

迁移步骤

1. 导出测试环境中的 ClickHouse 镜像

在测试环境中,运行以下命令将 ClickHouse 镜像保存为 .tar 文件:

docker save 6bfc295513dd > clickhouse-server-latest.tar

2. 备份测试环境中的 ClickHouse 数据和配置文件

根据你的容器配置,数据目录为 /home/clickhouse/data,配置文件目录为 /home/clickhouse/conf。运行以下命令备份这些目录:

tar -czvf clickhouse-data.tar.gz /home/clickhouse/data
tar -czvf clickhouse-config.tar.gz /home/clickhouse/conf

3. 将镜像和数据拷贝到正式环境

由于正式环境无法联网,你需要通过外部存储设备(如 U 盘、移动硬盘或网络共享存储)将以下文件拷贝到正式环境:

  1. clickhouse-server-latest.tar(镜像文件)
  2. clickhouse-data.tar.gz(数据文件)
  3. clickhouse-config.tar.gz(配置文件)

4. 在正式环境中加载 ClickHouse 镜像

在正式环境中,运行以下命令加载镜像:

docker load < clickhouse-server-latest.tar

加载完成后,运行以下命令确认镜像已正确加载:

docker images

你应该会看到类似以下的输出:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
clickhouse-server   latest              6bfc295513dd        11 months ago       952MB

5. 在正式环境中创建数据和配置目录

在正式环境的宿主机上,创建与测试环境相同的目录结构:

mkdir -p /home/clickhouse/data
mkdir -p /home/clickhouse/conf
sudo chown -R root:root /home/clickhouse
sudo chmod -R 755 /home/clickhouse

6. 将备份的数据和配置文件恢复到正式环境

将备份的数据和配置文件解压到正式环境的宿主机目录中:

tar -xzvf clickhouse-data.tar.gz -C /home/clickhouse/data
tar -xzvf clickhouse-config.tar.gz -C /home/clickhouse/conf

7. 启动 ClickHouse 容器

根据你的测试环境容器配置,启动 ClickHouse 容器时需要挂载相同的目录和端口。运行以下命令:

docker run -d --name clickhouse-server \-p 8123:8123 \-p 19000:9000 \-v /home/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \-v /home/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \-v /home/clickhouse/data:/var/lib/clickhouse \clickhouse-server:latest

8. 验证数据和配置一致性

在正式环境中,连接到 ClickHouse 容器,检查数据和配置是否正确加载:

docker exec -it clickhouse-server clickhouse-client

执行以下命令验证数据和配置:

SHOW DATABASES;
SELECT * FROM system.tables LIMIT 10;

注意事项

Docker 版本兼容性

  • 虽然 Docker 18.06.3-ce 和 Docker 24.0.6 之间存在版本差异,但 docker savedocker load 命令通常可以正常工作。如果在加载镜像时遇到问题,请检查 Docker 日志以获取更多信息。
  • 如果遇到兼容性问题,可以考虑在正式环境中升级 Docker 版本,或者在测试环境中降级 Docker 版本以匹配正式环境。

数据和配置文件的权限

  • 确保 /home/clickhouse/data/home/clickhouse/conf 目录的权限正确,ClickHouse 容器能够正常访问和写入这些目录。

  • 如果权限不足,可以使用以下命令调整权限:

    chown -R 1001:1001 /home/clickhouse/data
    chown -R 1001:1001 /home/clickhouse/conf
    

网络配置

  • 如果正式环境中有特定的网络配置需求(如自定义网络或防火墙规则),请确保 ClickHouse 容器的网络设置与测试环境一致。

通过以上步骤和环境版本说明,你可以清晰地了解测试环境和正式环境的配置差异,并确保 ClickHouse 镜像和数据能够顺利迁移到无法联网的正式环境中。

希望本文对你有所帮助!如果有任何问题,欢迎在评论区交流。


关键字:网站代运营合作协议_建设企业网站初始必备的六大功能_无锡百度关键词优化_今日新闻最新

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: