阿里云使用Docker

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 阿里云使用Docker部署MongoDB集群体验

一、自我介绍
我是计算机科学与技术大四学生,临近毕业,毕设使用到MongoDB,而电脑配置太低使用虚拟机的使用会卡死,因此转用云服务器,在服务器里使用docker来完成MongoDB集群的部署,所以就顺势了解了阿里云的飞天加速高校学生计划。目前感觉使用效果不错。
二、部署过程
1、Docker安装

安装curl
sudo apt install crul 
安装docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
查看是否安装成功
docker version

image.png
image.png

2、使用Docker拉取MongoDB镜像

拉取mongo镜像
sudo docker pull mongo:3.6
将当前用户添加进docker组中
# 添加当前用户到docker group中
sudo gpasswd -a ${USER} docker
# 重启docke生效
sudo service docker restart
# 切换会话,避免使用缓存的组信息
newgrp - docker

3、搭建mongo分布式

准备好集群ip
rs_shardsvr1的三个容器的静态ip地址:
172.18.0.5、172.18.0.6、172.18.0.7
rs_shardsvr2的三个容器的静态ip地址:
172.18.0.8、172.18.0.9、172.18.0.10
rs_shardsvr3的三个容器的静态ip地址:
172.18.0.11、172.18.0.12、172.18.0.13
rs_configsvr的三个容器的静态ip地址:
172.18.0.2、172.18.0.3、172.18.0.4
mongos容器的静态ip地址
172.18.0.14

image.png

安装mongodb-clients
sudo apt install mongodb-clients
将mongodb的shard全部装到docker的container中
此处一shard10为例

docker run -v /mnt/mongo/data/shard10/:/data/db/ \
-v /mnt/mongo/log/shard10/:/data/configdb/ \
--network mongo_cluster_net --ip 172.18.0.5 \
--name shard10 -d mongo:3.6 mongod --shardsvr --replSet
"rs_shardsvr1" \
--logpath=/data/configdb/rs_shardsvr1.log --bind_ip_all

image.png

配置Config Server
docker run -v /mnt/mongo/data/cfgsvr1/:/data/db/ \
--network mongo_cluster_net --ip 172.18.0.2 \
--name confsvr1 -d mongo:3.6 \
--configsvr --dbpath /data/db --replSet "rs_configsvr" --
bind_ip_all

image.png

配置Shard的Replica
# Shard Server 默认的端口为27018
mongo 172.18.0.5:27018
config =  {
 _id : "rs_shardsvr1",
 members: [
  { _id : 0, host : "172.18.0.5:27018" },
  { _id : 1, host : "172.18.0.6:27018", arbiterOnly :
true},
  { _id : 2, host : "172.18.0.7:27018" }
 ]
}
rs.initiate(config)

其他几个shard也是如此配置,剩下的config的配置以及mongos的配置下回再更新
三、使用体验
目前使用ECS两周了,最大的感觉就是使用熟练了之后很方便。再希望通过飞天计划申请两个月免费的服务器,等毕设中期之后,再考虑申请一个自己的ECS服务器。
关于在此集群搭建进行期间,最重要的是,自己对docker虚拟化技术有了更深入的了解,都得到了运用,加深了对此的印象,收获满满。感谢阿里云!
另外,由衷的感慨,阿里云真好,让更多的学生接触到服务器。感谢!

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
4月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
413 3
|
4月前
|
关系型数据库 MySQL 应用服务中间件
配置docker阿里云镜像地址
配置docker阿里云镜像地址
|
4月前
|
存储 运维 数据安全/隐私保护
如何高效利用阿里云Docker镜像仓库管理您的容器镜像
如何高效利用阿里云Docker镜像仓库管理您的容器镜像
|
4月前
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
4月前
|
JSON 数据格式 Docker
配置阿里云docker镜像加速
配置阿里云docker镜像加速
753 0
|
4月前
|
弹性计算 Java Maven
阿里云云效操作报错合集之在构建Docker镜像时提示拉取次数达到限制,该怎么解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
4月前
|
Kubernetes jenkins 持续交付
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
183 0
|
5月前
|
运维 Ubuntu Shell
阿里云云效操作报错合集之流水线构建Docker镜像时,遇到报错:“error: failed to solve: rpc error: code”,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
5月前
|
弹性计算 运维 Kubernetes
阿里云云效操作报错合集之构建流程中遇到 "origin_value 类型错误,取不到DOCKER_URL" 这样的错误,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。