redis,mongodb,mysql三大数据库应该算是后端最为常用的三种数据库了,部署后端服务的时候一个一个的安装过于麻烦,这里我们结合docker的使用实现快速安装,并使用docker-compose实现快速插拔,下面我使用ubunut演示。

docker安装

不推荐使用apt 安装 docker.io 因为版本太低好多功能没有,推荐使用docker-ce,安装步骤如下:

1、更新APT源

sudo apt update

2、安装软件包以允许apt通过HTTPS使用存储库

sudo apt install apt-transport-https ca-certificates curl software-properties-common

3、使用教育网镜像

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add

4、添加仓库

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs)  stable"

5、更新下软件源并安装docker-ce

sudo apt update && sudo apt install docker-ce -y

6、开启服务

  • 使用sudo service docker start 或是 sudo systemctl start docker 开启 docker 服务
  • sudo systemctl restart docker重启服务
  • sudo systemctl stop docker关闭服务
  • 使用sudo systemctl enable docker开启开机自启动
  • sudo systemctl disable docker关闭自启动

7、建立docker用户组并给root权限

  1. 添加docker组sudo groupadd docker 提示已经存在就直接下一步
  2. 添加用户到docker组 sudo gpasswd -a 这里添你的用户名 docker
  3. 重新启动docker sudo systemctl restart docker
  4. 更新用户组newgrp docker
  5. 直接键入docker就可以使用docker了

8、更改docker images 存储位置

$ sudo vim /etc/docker/daemon.json
{"graph": "/my-docker-images"
}

安装 docker-compose

主要有两种安装方式:

github下载安装:

sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

由于速度比较慢,特别是在云主机上,水管太小了,放弃了

使用pip安装

1、ubuntu上有python3,需要安装一个pip3

sudo apt install python3-pip

2、 升级pip3,这里使用tuna镜像国内安装速度更快

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U

3、 安装docker-compose

pip3 install  -U docker-compose

速度慢的话同上使用tuna
4、测试能否使用

使用docker-compose

docker-compose使用yml文件进行配置,我们先创建一个文件夹统一放置yml文件,以及数据库的持久化数据,我创建名为dockers的文件夹:

然后我们一个一个来创建:

mongodb + mongo express

1、创建存放数据目录:

2、创建docker-compose.yml文件:

version: '3'
services:mongo:image: mongovolumes:- ./mongo/db:/data/db   # /data/db是container中存放数据位置ports:- 27017:27017restart: alwaysmongo-express:links:- mongo  # 这里关联到mongo的containerimage: mongo-expressrestart: alwaysports:- 8081:8081environment:ME_CONFIG_BASICAUTH_USERNAME: ffzsME_CONFIG_BASICAUTH_PASSWORD: 123zxc

3、运行docker-compose:

这里加 -d 后台运行,第一次运行建议不加-d可以看log

4 、查看是否成功开启访问http://localhost:8081/打开mongo express

出现如下页面说明成功:

5、创建新database:


6、创建新collection:
7、插入内容:


8、关闭docker-compose再打开看是否数据还在

刷新mongo express,发现数据还在, 说明数据持久化成功:

mysql安装

1、先处理配置文件:
首先创建文件夹,然后写入配置信息:

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

2、创建存放数据文件夹:

3、然后是yml文件内容:

    mysql:image: mysqlports:- 33060:33060- 3306:3306command: --default-authentication-plugin=mysql_native_passwordrestart: alwaysvolumes:- ./mysql/db:/var/lib/mysql- ./mysql/conf.d:/etc/mysql/conf.denvironment:MYSQL_ROOT_PASSWORD: 123zxc    adminer:image: adminerrestart: alwaysports:- 8080:8080

4、启动docker-compose


5、访问http://localhost:8080/打开adminer
输入用户名密码后,成功开启:

6、关闭后再启动使用python访问一下
访问成功,数据本地存储成功

redis 安装

1、创建存放数据文件夹和创建配置文件:

mkdir -p redis/db && mkdir -p redis/conf

2、创建配置文件vim ./redis/conf/redis.conf内容如下

requirepass 123zxc  #这是密码stop-writes-on-bgsave-error no
rdbcompression no
dbfilename dump.rdbappendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mbdir /data/

2、测试是否成功
我是用python链接测试,当然也可以使用Redis Desktop Manager

3、重启docker-compose

4、依旧可以获取数据,说明持久化成功

完整yml文件内容如下:

version: '3'
services:mongo:image: mongovolumes:- ./mongo/db:/data/db   # /data/db是container中存放数据位置ports:- 27017:27017restart: alwaysmongo-express:links:- mongo  # 这里关联到mongo的containerimage: mongo-expressrestart: alwaysports:- 8081:8081environment:ME_CONFIG_BASICAUTH_USERNAME: ffzsME_CONFIG_BASICAUTH_PASSWORD: 123zxcmysql:image: mysqlports:- 33060:33060- 3306:3306command: --default-authentication-plugin=mysql_native_passwordrestart: alwaysvolumes:- ./mysql/db:/var/lib/mysql- ./mysql/conf.d:/etc/mysql/conf.denvironment:MYSQL_ROOT_PASSWORD: 123zxc    adminer:image: adminerrestart: alwaysports:- 8080:8080redis:image: redisrestart: alwayscommand: redis-server /usr/local/etc/redis/redis.confports:- 6379:6379volumes:- ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf- ./redis/db/:/data/

觉得有用点个赞哈!!!!!!!!!11

搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库相关推荐

  1. docker容器连接宿主机redis和mysql

    当我们在用docker部署项目的时候可能会遇到这样一个问题:项目A和项目B都用到了redis和mysql,如果在docker-compose里link或者dependon一个redis和mysql的话 ...

  2. 掘地三尺搞定 Redis 与 MySQL 数据一致性问题

    若有收获,请记得分享和转发哦 Redis 拥有高性能的数据读写功能,被我们广泛用在缓存场景,一是能提高业务系统的性能,二是为数据库抵挡了高并发的流量请求, 把 Redis 作为缓存组件,需要防止出现以 ...

  3. docker 测试mysql_95--Docker案例(redis测试/mysql测试/tomcat测试)

    Docker案例 关闭防火墙 # 关闭防火墙 systemctl stop firewalld.service # 禁止防火墙开机启动 systemctl disable firewalld.serv ...

  4. 搞定 Redis 数据存储原理,别只会 set、get 了

    在上一篇通过源码编译构建出可调式环境之后,想必你想更深入了解我的整体架构.当你熟悉我的整体架构和每个模块,遇到问题才能直击本源,直捣黄龙,一笑破苍穹. 我的核心模块如图 1-10. 图1-10 图 1 ...

  5. Docker - 单独搭建部署应用服务(Nginx+Php+Mysql+Redis)

    概述 使用docker搭建一个php.redis.mysql.nginx的常用实例,基础好的同学可直接跳过前面的基础讲解,直接开始实战. 基础知识 镜像操作 1.查看docker版本 docker-c ...

  6. 借力 Docker ,三分钟搞定 MySQL 主从复制!

    hello 各位小伙伴大家好,今年 5 月份的时候,松哥和大家聊过如何搭建 MySQL 主从复制: 提高性能,MySQL 读写分离环境搭建(一) 提高性能,MySQL 读写分离环境搭建(二) 不过很多 ...

  7. 使用开源实时监控系统 HertzBeat 5分钟搞定 Mysql 数据库监控告警

    使用开源实时监控系统 HertzBeat 对 Mysql 数据库监控告警实践,5分钟搞定! Mysql 数据库介绍 MySQL是一个开源关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 O ...

  8. windows+mysql集群搭建-三分钟搞定集群

    一.集群了解 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解 ...

  9. 5分钟搞定物联网 App —— 温湿度传感器 + 4路继电器

    5分钟搞定物联网 App -- 温湿度传感器 + 4路继电器 前边的视频我们分享 Modbus 设备通过 DTU 快速接入 ThingsCloud 云平台后,通过 Modbus 云网关对应到了独立的设 ...

最新文章

  1. pc端WINCE的安装包
  2. oracle数据恢复方法
  3. python和anaconda一定要对应版本安装吗_Anaconda与Python安装版本对应关系 --- 转载
  4. 2019-11-18 自动控制原理的几个基本概念
  5. 非递归实现二叉树(前序,中序,后序)c/c++实现
  6. php5.2 $_GET漏洞,ThinkPHP5 远程代码执行漏洞-动态分析
  7. VC++ 6.0的一些使用技巧---IDE的使用
  8. linux+arm+移除X11,关于ARM GTK/X11的问题,懂的指点一下
  9. python为什么叫爬虫-总算领会python为什么叫爬虫
  10. C++之禁用特定告警
  11. merge规则 python_用Python处理PDF
  12. Java资源大全中文版(Awesome最新版)(转载)
  13. Silverlight实用窍门系列:43.Silverlight从ListBox拖拽图标到另一ListBox
  14. 从零学iFIX视频教程 2.01版 完整目录 (总共220节视频)
  15. inovance变频器说明书参数设置_汇川(INOVANCE)MD310变频器说明书.pdf
  16. 双系统正确卸载Ubuntu系统
  17. QQ空间无法点赞或者QQ空间点赞被取消
  18. 有道智选-网易效果推广
  19. 禁止小程序输入Emoji表情符
  20. 英语affrike非洲affrike单词

热门文章

  1. 修改nodejs版本
  2. VisualBasic程序设计第六章的学习与自测
  3. python sched_python定时任务-sched模块
  4. 【素人专题】—— 字符的最短距离
  5. python中random模块验证码_Python之random模块详解
  6. zabbix3.0更换公司logo
  7. plsql报ora-00911错误的解决
  8. foreach 循环获取索引
  9. DSP 创龙omapl138 起始管脚对应值
  10. mysql项目酒店管理博客园_项目中常用的19条MySQL优化