准备一个云服务器

购买一个云服务器,在阿里云,腾讯云上购买即可。
然后创建一个实例,安装Linux操作系统,我安装的是CentOS。
记住账号和密码,可以使用ssh远程登录即可。
 

搭建测试环境
Docker是一个轻量级的虚拟机,可以使用Docker下载一个Docker里面包含你想要的环境的镜像
比如你想运行一个数据库的Docker镜像,那么就可以下载一个Mysql镜像,然后使用Docker运行起来,然后把你的项目链接到这个Docker里面的数据库就可以了。非常方便。
 
在云服务器上安装Docker工具
1.首先从github上找到安装docker的sh脚本
https://github.com/docker/docker-install

2.然后ssh链接远程云服务,执行命令安装docker

curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh

信息记录

+ sh -c 'yum install -y -q docker-ce docker-ce-cli containerd.io docker-scan-plugin docker-compose-plugin docker-ce-rootless-extras'
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-20.10.21-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-20.10.21-3.el7.x86_64.rpm 的公钥尚未安装 导入 GPG key 0x621E9F35:
用户ID : "Docker Release (CE rpm) <docker@docker.com>"
指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
来自 : https://download.docker.com/linux/centos/gpg
setsebool: SELinux is disabled.

3.安装docker compose

docker compose容器管家,在只要Docker容器的时候,每次镜像启动都要收到执行命令,有了这个大管家,可以通过配置文件的方式让它帮忙其他配置的镜像。
 docker compose官方介绍:https://docs.docker.com/compose/install/other/
curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

修改执行权限

sudo chmod +x /usr/local/bin/docker-compose

4.下载版本4的mongo镜像

这里使用的数据库是mongodb数据库,所以对应下载的镜像是mongo,选择版本4下载。
mongodb数据库是一个NOSQL数据库,相对于SQL关系型数据库而言,它是一个松散型的数据库。对应数据结构不确定的应用比较适合,并且不会出现数据冗余。像爬虫应用。
命令如下:
docker pull mongo:4

首先在下面目录下修改docker的镜像源,加速下载

/etc/docker/daemon.json

{
"registry-mirrors":["https://registry.docker-cn.com"]
}
//重启docker使生效
service docker restart

注意,直接vi /etc/docker/daemon.json 添加下面的镜像会报错

"/etc/docker/daemon.json" E212: Can't open file for writing
原因是/etc/目录下没有docker目录,需要收到创建后再建文件
步骤如下:
cd /etc
mkdir docker
cd docker
vi daemon.json
//下载docker 镜像
docker pull mongo:4 //查看本地安装的docker镜像
docker images //运行docker镜像 -d:后台运行, -p:指定宿主端口:docker内进程端口的关系
// mongo:4运行mongo4版本 --name:运行的docker在进程中的名字
//注意:对宿主机设置放行10050端口,简单的方式是关闭防火墙
docker run -d --name some-mongo -p 10050:27017 mongo:4

5.为镜像配一个默认启动配置

一般情况下,会做一些系统的配置和宿主端口与docker端口的映射关系,这样Docker就会默认启动这个镜像了
创建docker-compose.yml配置文件
version: '3.1'

services:

  mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root123456
ports:
#端口映射 宿主端口:容器端口
- 27017:27017
volumes:
#数据备份,在宿主机保存数据文件 宿主保存目录:容器中的数据目录
- /home/mongotest:/data/db

然后ssh登录云主机,将配置文件设置到主机上的docker-compose.yml文件上

[root@VM-0-11-centos ~]# cd /home/
[root@VM-0-11-centos home]# ls
[root@VM-0-11-centos home]# mkdir mongotest
[root@VM-0-11-centos home]# cd mongotest/
[root@VM-0-11-centos mongotest]# vi docker-compose.yml

执行更新,注意此时docker-compose会检测配置文件,如果docker-compose.yml里面的imags不存在会自动下载,并运行。

docker-compose up -d

6.修改防火墙

在对云服务器的防火墙放行对应的端口,如下面放行端口10050
//查看docker运行进程
docker ps //简单的方式是关闭防火墙
Centos: service firewalld stop //对防火墙设置放行这个端口
firewall-cmd --zone=public --add-port=10050/tcp --permanent
//重启
firewall-cmd --reload
//查看防火墙状态
firewall-cmd --state
 使用图形化界面操作数据库
对于mongodb这种NOSQL数据库,可以使用GUI工具进行管理,更加方便。
使用Robo 3T需要注册账号,然后在第一次启动时,输入网页登录后产生的hash值才能正常启动
 
1.下载Robo 3T mongo的图形化管理工具
https://robomongo.org

//将网页登录成功后产生的md5复制,然后粘贴到app启动的code中,才能正常打开
3045a653-0bf5-4ac7-99e2-9c315fdf462d

登录成功后,建立本地与远程docker的链接

 

 在Node项目中链接使用
mongoose是mongodb的node工具,可以方便的在node服务端使用
 安装:
//初始化工程
npm init -y
//安装第三方模块mongoose
npm install --save mongoose

然后链接云服务器中运行的docker镜像,mongodb数据库

const mongoose = require('mongoose');

//test:123456@ @前面表示:数据库的用户名:密码
//27017/testdb 27017端口后面表示:链接的数据库 mongoose.connect("mongodb://test:123456@1.15.55.28:27017/testdb", {useNewUrlParser: true, useUnifiedTopology: true}); const Cat = mongoose.model('Cat', { name: String }); const kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
if (err) {
console.log('err',err)
} else {
console.log('miao!!')
}
})

代码例子:gitHub库:https://github.com/zhfei/ReactBasicKnowledge 中的mongoose_demo部分

 

利用Docker、云服务器、mongodb搭建自己的测试平台的更多相关文章

  1. 阿里云服务器上搭建seafile专业版

    因为官方一键安装教程在阿里云服务器上无法安装,由于水平有限,无法解决,所以选择手动安装 参考资料: 1,.腾讯云搭建seafile服务器 2.How to Install Seafile with N ...

  2. 云服务器上搭建cobalt strike遇到的一些小问题

    一.前言: 当你兴高采烈的买了一台云服务器,迫不及待地想去搭建传说中的神器cobalt strike的时候,你可能会遇到以下的一些小问题,这里我会列出对应的解决方法. 二.遇到的一些小问题 1.上传文 ...

  3. 在云服务器上搭建个人版chatGPT及后端Spring Boot集成chat GPT

    总结/朱季谦 本文分成两部分,包括[国内服务器上搭建chat GPT]和[后端Spring Boot集成chat GPT]. 无论是在[国内服务器上搭建chat GPT]和[后端Spring Boot ...

  4. 在centos 7云服务器上搭建Apache服务器并访问到你的网站

    网站是指在互联网上根据一定的规则,用HTML等语言制作的网页的集合.网站的目的是用来展示一些信息,如果是个人网站则是为了展示自己的一些想被人知道的东西,例如自己的一些作品,又或者是通过网站来达到盈利的 ...

  5. 教你如何使用云服务器去搭建SS

    注册云服务器 (首先推荐Vultr,注册链接:https://www.vultr.com/?ref=6962741,其他云服务商如阿里云HK,Linode等亦可使用,按需选择) 这里拿Vultr举例: ...

  6. 如何在阿里云服务器上搭建wordpress个人网站

    1.购买云服务器.域名.域名解析.配置linux系统上的web环境.FTP等参照下面的链接. https://www.cnblogs.com/smyhvae/p/4965163.html?tdsour ...

  7. 利用阿里云服务器免费体验word press博客、个人网站

    本文首发于我的个人博客:https://chens.life/create-wordpress-blog.html 前言 目前市面上有许许多多的虚拟云服务器ECS,例如阿里云.华为云.又拍云等等,他们 ...

  8. 免费AWS云服务器一键搭建Trojan详细教程

    前言 想要撸AWS服务器的可以看我上一篇博客,这里就不介绍了,以下步骤有问题的朋友可以私信或者评论区留言. 配置AWS云服务器 选择语言,博主写了博客后才看到,前面都是使用谷歌翻译. 选择地区 创建虚 ...

  9. 在阿里云服务器上搭建xampp遇到的问题

    参考文章:http://blog.csdn.net/hel12he/article/details/49781813 http://www.laozuo.org/8178.html http://bl ...

  10. 微信小程序阿里云服务器https搭建

    已更新 2018-11-20 1.什么是https?HTTPS(全称:安全套接字层上的超文本传输​​协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS ...

随机推荐

  1. #2037:今年暑假不AC

    Problem Description "今年暑假不AC?" "是的." "那你干什么呢?" "看世界杯呀,笨蛋!" & ...

  2. C#排序算法6:快速排序

    快速排序由C. A. R. Hoare在1960年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分 ...

  3. python进阶(2)--列表

    文档目录:一.访问列表元素二.更新列表三.删除元素四.列表排序五.len()与range()/list()六.创建一个包含1-10平方的列表七.复制列表两种方式八.元组:不可变的列表 -------- ...

  4. configmap 和 secret 概述

    本篇文章是对 configmap 和 secret 的一个总结,详细信息可看 这里 1. configmap 和 secret 概述 在 container 的 image 中可通过 ENTRYPOI ...

  5. text, data and bss: Code and Data Size Explained

    [来源]

  6. [转帖]shell编程之条件语句

    目录 一.条件测试 test命令 文件测试与整数测试 文件测试 整数值比较 字符串测试与逻辑测试 字符串比较 逻辑测试 二.if语句 if单分支语句 单分支结构 if双分支语句 双分支结构 if多分支 ...

  7. [转帖]Shell三剑客之awk

    目录 awk简述 awk的工作过程 awk的工作原理 awk的基本格式及其内置变量 getline 文本内容匹配过滤打印 对字段进行处理打印 条件判断打印 awk的三元表达式与精准筛选用法 awk的精 ...

  8. [转帖]《Linux性能优化实战》笔记(七)—— CPU瓶颈快速分析及性能优化思路

    相当于是前面篇章的小结 一. CPU 性能指标 常见指标包括: 平均负载 CPU 使用率(user.iowait.system.软硬中断等) 进程上下文切换(自愿.非自愿) CPU 缓存的命中率 CP ...

  9. Springboot tomcat.threads线程数学习

    Springboot tomcat.threads线程数学习 摘要 压测完nginx 突然想搞一下springboot内嵌的tomcat的 threads的参数 一不做二不休, 直接就着脚本进行学习和 ...

  10. Nginx拆分配置文件的办法

    Nginx拆分配置文件的办法 摘要 最近公司使用Nginx进行微服务的路由处理 但是发现随着业务发展, 配置文件越来越复杂. 修改起来也很容易出现错误. 基于此. 想通过拆分配置文件的方式来提高修改效 ...