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

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
    搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第1张图片
  3. 重新启动docker sudo systemctl restart docker
  4. 更新用户组newgrp docker
  5. 直接键入docker就可以使用docker了
    搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第2张图片

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-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、创建存放数据目录:
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第3张图片
2、创建docker-compose.yml文件:

version: '3'
services:
    mongo:
        image: mongo
        volumes:
            - ./mongo/db:/data/db   # /data/db是container中存放数据位置
        ports:
            - 27017:27017
        restart: always

        
    mongo-express:
        links:
            - mongo  # 这里关联到mongo的container
        image: mongo-express
        restart: always
        ports:
        - 8081:8081
        environment:
            ME_CONFIG_BASICAUTH_USERNAME: ffzs
            ME_CONFIG_BASICAUTH_PASSWORD: 123zxc

3、运行docker-compose:
在这里插入图片描述
这里加 -d 后台运行,第一次运行建议不加-d可以看log

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

出现如下页面说明成功:
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第4张图片
5、创建新database:
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第5张图片
在这里插入图片描述
6、创建新collection:
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第6张图片7、插入内容:
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第7张图片
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第8张图片
8、关闭docker-compose再打开看是否数据还在
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第9张图片
刷新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: mysql
        ports:
            - 33060:33060
            - 3306:3306
        command: --default-authentication-plugin=mysql_native_password
        restart: always
        volumes:
            - ./mysql/db:/var/lib/mysql
            - ./mysql/conf.d:/etc/mysql/conf.d
        environment:
            MYSQL_ROOT_PASSWORD: 123zxc    
            
    adminer:
        image: adminer
        restart: always
        ports:
            - 8080:8080

4、启动docker-compose

搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第10张图片
5、访问http://localhost:8080/打开adminer
输入用户名密码后,成功开启:
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第11张图片
6、关闭后再启动使用python访问一下
访问成功,数据本地存储成功
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第12张图片

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.rdb

appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

dir /data/

2、测试是否成功
我是用python链接测试,当然也可以使用Redis Desktop Manager
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第13张图片

3、重启docker-compose
搞机:使用docker-compose10分钟搞定redis,mongodb,mysql三大数据库_第14张图片

4、依旧可以获取数据,说明持久化成功
在这里插入图片描述

完整yml文件内容如下:

version: '3'
services:
    mongo:
        image: mongo
        volumes:
            - ./mongo/db:/data/db   # /data/db是container中存放数据位置
        ports:
            - 27017:27017
        restart: always

        
    mongo-express:
        links:
            - mongo  # 这里关联到mongo的container
        image: mongo-express
        restart: always
        ports:
            - 8081:8081
        environment:
            ME_CONFIG_BASICAUTH_USERNAME: ffzs
            ME_CONFIG_BASICAUTH_PASSWORD: 123zxc

    mysql:
        image: mysql
        ports:
            - 33060:33060
            - 3306:3306
        command: --default-authentication-plugin=mysql_native_password
        restart: always
        volumes:
            - ./mysql/db:/var/lib/mysql
            - ./mysql/conf.d:/etc/mysql/conf.d
        environment:
            MYSQL_ROOT_PASSWORD: 123zxc    
            
    adminer:
        image: adminer
        restart: always
        ports:
            - 8080:8080
        

    redis:
        image: redis
        restart: always
        command: redis-server /usr/local/etc/redis/redis.conf
        ports:
            - 6379:6379
        volumes:
            - ./redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
            - ./redis/db/:/data/

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

你可能感兴趣的:(数据库,系统)