使用docker快速部署mysql和redis并且持久化数据。使用过docker 都知道,容器一关闭,数据就没了,这里介绍一下怎么持久化数据到宿主机即服务器上,容器挂掉,重启数据仍在。
前提:
1.一台docker机器
2.配置好docker-compose,没有配置 docker-compose的点击配置(docker-compose多服务编排起来很方便)
开始:
1. 到合适目录下编写 docker-compose.yml 配置,可直接复制
version: '3.3'
services:
db-redis:
image: redis
restart: always
command: redis-server --requirepass redispassword --appendonly yes
networks:
default:
volumes:
- ./redis-data/data:/data
ports:
- 6379:6379
db-mysql:
image: mysql:5.7
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max_connections=10000 --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
volumes:
- ./mysql-data:/var/lib/mysql
- /etc/localtime:/etc/localtime
restart: always
ports:
- 3306:3306
networks:
default:
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: zhh
MYSQL_USER: root
MYSQL_PASSWORD: root
2. 在当前目录下
执行 docker-compose up -d 后台启动
过程:先拉区镜像,启动容器
出现 done 即成功
[root@zhh_b66 infrastructure]# docker-compose up -d
Starting infrastructure_db-mysql_1 ... done
Starting infrastructure_db-redis_1 ... done
3. 测试数据持久化
使用 navicat 或其他工具,连接数据库,创建表,写入数据,重启容器,看数据是否仍在。