redis,mongodb,mysql三大数据库应该算是后端最为常用的三种数据库了,部署后端服务的时候一个一个的安装过于麻烦,这里我们结合docker的使用实现快速安装,并使用docker-compose实现快速插拔,下面我使用ubunut演示。
不推荐使用apt 安装 docker.io 因为版本太低好多功能没有,推荐使用docker-ce,安装步骤如下:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update && sudo apt install docker-ce -y
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
关闭自启动sudo groupadd docker
提示已经存在就直接下一步sudo gpasswd -a 这里添你的用户名 docker
sudo systemctl restart docker
newgrp docker
docker
就可以使用docker了$ sudo vim /etc/docker/daemon.json
{
"graph": "/my-docker-images"
}
主要有两种安装方式:
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
由于速度比较慢,特别是在云主机上,水管太小了,放弃了
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
docker-compose使用yml文件进行配置,我们先创建一个文件夹统一放置yml文件,以及数据库的持久化数据,我创建名为dockers
的文件夹:
然后我们一个一个来创建:
1、创建存放数据目录:
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
出现如下页面说明成功:
5、创建新database:
6、创建新collection:
7、插入内容:
8、关闭docker-compose
再打开看是否数据还在
刷新mongo express
,发现数据还在, 说明数据持久化成功:
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
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
5、访问http://localhost:8080/
打开adminer
输入用户名密码后,成功开启:
6、关闭后再启动使用python访问一下
访问成功,数据本地存储成功
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
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