准备一个云服务器

购买一个云服务器,在阿里云,腾讯云上购买即可。
然后创建一个实例,安装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. POJ 1742 Coins(多重背包的可行性问题)

    Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...

  2. freeswitch的mod_xml_curl模块

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. 随着fs服务的增多,每一台fs都需要在后台单独配置,耗时耗力,心力憔悴. 如果有一个集中管理配置的配置中心,统一管理所有fs的配置, ...

  3. freeswitch配置SBC的方案

    概述 freeswitch 是一款好用的开源软交换平台. 但是,fs不是专为SBC而开发的,所以需要做一些定制化的配置和开发. 本文主要介绍如何利用fs的基本功能配置一个简单的SBC方案,满足一般化需 ...

  4. Angular系列教程之父子组件通信详解

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  5. Introduction to DFT

    服务器使用 登陆服务器:输入账号密码 打开terminal,保证至少一个terminal窗口是打开的 取消Linux操作系统的屏幕保护 设置Linux EDA工具配置 // 自定义环境变量设置 gvi ...

  6. 【TouchGFX 】使用 CubeMX 创建 TouchGFX 工程时 LCD 死活不显示

    生成的代码死活无法让LCD显示,经两个晚上的分析验证是LTDC_CLK引脚速度设置为低速导致,经测试中速.高速.超高速都正常,真是冤,聊以此以示纪念

  7. 宝塔部署 springboot 项目遇到的 一些bug处理方案

    1,上传的项目(jar包)的数据库用户名 .密码 , 和服务器的数据库用户名.密码不一致 2,数据库的表结构没有创建 3, 宝塔 phpmyadmin 进不去 原因: 服务器没有放行888端口, 宝塔 ...

  8. Redis不同版本,内存分配,硬件的性能研究

    Redis不同版本,内存分配,硬件的性能研究 前言 Konw more ! Do more ! Gain more ! 骨折之后开始减肥. 前段时间跳绳导致膝盖不舒服,现在改骑车和走路. 在有限的没人 ...

  9. [转帖]一个轻量的Linux运维监控脚本

    https://zhuanlan.zhihu.com/p/472040635 写在前面 我的需求 嗯,有几台很老的机器,上面部署的几个很老的应用 我需要每周对机器上的一些内存,磁盘,线程,应用和数据库 ...

  10. 【转帖】千亿参数大模型首次被撬开!Meta复刻GPT-3“背刺”OpenAI,完整模型权重及训练代码全公布

    https://cloud.tencent.com/developer/article/1991011 千亿级参数AI大模型,竟然真的能获取代码了?! 一觉醒来,AI圈发生了一件轰动的事情-- Met ...