记一次 | docker 部署 mysql 和 redis 并持久化数据

使用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 或其他工具,连接数据库,创建表,写入数据,重启容器,看数据是否仍在。

 

 

 

 

 

 

 

你可能感兴趣的:(docker)