1、拉取镜像
docker pull cockroachdb/cockroach:v1.0.2 docker run --rm cockroachdb/cockroach:v1.0.2 version // 确认镜像正常使用
2、新建网桥
在单机环境运行多个容器,之间需要使用docker的网桥模式使得容器间能够进行互访,同时保证容器间在外网环境是互相隔离
docker network create -d bridge roachnet
3、启动第一个节点
docker run -d \ --name=roach1 \ --hostname=roach1 \ --net=roachnet \ -p 26257:26257 -p 8080:8080 \ -v "${PWD}/cockroach-data/roach1:/cockroach/cockroach-data" \ cockroachdb/cockroach:v1.0.2 start --insecure
--hostname:容器间通过hostname加入集群
26257:cockroach默认的端口
8080:监控UI的端口
-p:映射容器宿主机和容器的端口
-v:挂载宿主机目录
start --insecure 在容器内启动节点
4、加入另外节点到集群
docker run -d \ --name=roach2 \ --hostname=roach2 \ --net=roachnet \ -v "${PWD}/cockroach-data/roach2:/cockroach/cockroach-data" \ cockroachdb/cockroach:v1.0.2 start --insecure --join=roach1 docker run -d \ --name=roach3 \ --hostname=roach3 \ --net=roachnet \ -v "${PWD}/cockroach-data/roach3:/cockroach/cockroach-data" \ cockroachdb/cockroach:v1.0.2 start --insecure --join=roach1
--join:容器节点加入集群,通过前面指定的hostname
5、集群测试
docker exec -it roach1 ./cockroach sql --insecure
输出:
# Welcome to the cockroach SQL interface.
# All statements must be terminated by a semicolon.
# To exit: CTRL + D.
执行sql:
CREATE DATABASE bank; CREATE TABLE bank.accounts (id INT PRIMARY KEY, balance DECIMAL); INSERT INTO bank.accounts VALUES (1, 1000.50); SELECT * FROM bank.accounts;
节点1的结果
+----+---------+ | id | balance | +----+---------+ | 1 | 1000.50 | +----+---------+ (1 row) \q 退出
节点2,节点3:
SELECT * FROM bank.accounts;
查询结果:
+----+---------+ | id | balance | +----+---------+ | 1 | 1000.50 | +----+---------+ (1 row) \q 退出节点
6、集群监控
启动集群时已管理宿主机的8080端口,可以查看容器
docker ps
55e09b83cdba cockroachdb/cockroach:v1.0.2 "/cockroach/cockroach" 40 minutes ago Up 40 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:26257->26257/tcp roach1
在浏览器中打开地址,http://localhost:8080,本例是在云服务器中执行,所以通过外网查看
至此已成功docker中运行cockroach集群
相关推荐
docker compose部署redis集群,三主三从,并且外网可以访问,另外还可以从gitee上获取此文件,gitee上除了Redis之外还会陆续提供其他docker部署的文件,https://gitee.com/korov/Docker.git
docker安装rabbitmq3.8集群-3台-详细笔记文档-带安装包
Docker 本身就是基于 Linux 的,所以首先以我的一台服务器做实验。虽然最后跑 wordcount 已经由于内存不足而崩掉,但是之前的过程还是可以参考的。 连接服务器 使用 ssh 命令连接远程服务器。 ssh root@[Your IP ...
首先,Docker是一个开源的容器化平台,它允许开发者将应用及其依赖打包到一个可移植的容器中,该容器可以在任何安装了Docker的机器上运行。Docker基于Linux内核的特性,比如控制组(cgroups)和内核命名空间...
docker 一键部署redis集群 shell脚本 适用centos7.x版本,按照说明 将参数传递给 安装脚本,自动执行部署程序,亲测可用
1.先运行 createFile.py 输入宿主机IP地址,输入redis密码 2.按照控制台输出执行docker-compose up -d 启动命令 3.启动成功后执行加入集群命令即可
docker容器中搭建kafka集群环境,kafka集群配置注意事项与优化
docker中启动大数据脚本
教程:在linux虚拟机下(centos),通过docker容器,部署hadoop集群。一个master节点和三个slave节点。
通过使用 Docker,可以快速的在本地搭建一套 Spark 环境,方便大家开发 Spark 应用,或者扩展到...下面这篇文章主要给大家介绍了使用docker快速搭建Spark集群的方法教程,需要的朋友可以参考借鉴,下面来一起看看吧。
最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群。 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程。 目标:使用docker搭建一个一主两从三台机器...
在本文中,我们将介绍如何基于Docker搭建Hadoop集群。Hadoop是大数据处理的常用工具,而Docker则是当前最流行的容器化技术。通过将Hadoop部署到Docker容器中,我们可以更方便地管理和维护Hadoop集群。 虚拟化技术 ...
使用Docker建立Mysql集群使用Docker建立Mysql集群使用Docker建立Mysql集群使用Docker建立Mysql集群
【标题】:Docker-Kafka-Cluster集群安装 在现代分布式系统中,Apache Kafka作为一个高效、可扩展的消息中间件,广泛应用于数据流...对于希望在Docker容器中搭建Kafka集群的开发者来说,这是一个值得掌握的技术方案。
在`cockroach-docker-compose`压缩包中,包含了一个预配置的Docker Compose文件,可能已经设定了CockroachDB集群的基本设置,如节点数量、端口映射、数据持久化等。使用这个压缩包,用户只需要解压后,在命令行执行`...
在这个场景中,Dockerfile 被用来创建一个包含 Hadoop 集群环境的 Docker 映像。以下是一些可能的关键指令: 1. `FROM`: 指定基础镜像,可能是基于 Ubuntu 或 CentOS 的 Linux 发行版,因为它们是常见的 Hadoop ...
4. 构建基于docker的单节点的HDFS集群-01 5. docker容器跨物理节点通信-01 6 跨物理节点构建基于docker的10节点HDFS集群-说明文档-01 7. 跨物理节点构建基于docker的任意节点的HDFS集群-01 8. 见证奇迹-快速构建10...