• Docker-(基础服务)-数据库安装-简单版: Redis数据库,Mysql数据库


    一、概述

    使用docker来启动数据库服务时,可以很轻松和简单的安装数据库服务。

    但是,在安装的时候,有些坑必须要避开。

    二、Docker部署Mysql

    2.1、简单的直接安装

    1. #运行mysql镜像
    2. docker run -it p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    3. #进入mysql容器中,操作
    4. docker exec -it mysql5.7 /bin/bash
    5. #进入mysql客户端
    6. mysql -uroot -p123456
    7. #创建表,插入数据等。

    使用这种方式是有问题的,无法解决中文乱码的问题,当容器被删除时,数据库中的数据也会被删除掉。这种方式是错误的。

    2.2、实战版【解决中文乱码,数据备份】

    1、创建容器时,配置容器数据卷

    1. docker run -d -p3306:3306 --privileged=true -v /home/lhz/mysql/log:/var/log/mysql -v /home/lhz/mysql/data:/var/lib/mysql -v /home/lhz/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql5.7 mysql:5.7
    2. -d 后台运行
    3. -v 挂载容器卷,将容器mysql的数据、日志和配置文件挂载到主机中
    4. --privileged 开放权限
    5. -e 设置环境变量
    6. --name 设置容器名
    7. 最后是 镜像名或镜像id

    将mysql的配置,数据存放位置,日志挂载到主机中。

    2、修改mysql的配置文件,设置字符集编码,解决中文乱码问题

    1. #主机中操作:
    2. cd /home/lhz/mysql/conf
    3. vim my.cnf
    4. #插入下面内容
    5. [client]
    6. default_character_set=utf8
    7. [mysqld]
    8. collation_server=utf8_general_ci
    9. character_set_server=utf8

    3、重启容器

    docker restart mysql5.7

    4、测试

    在mysql容器中创建数据库,创建表,插入中文,发现没有中文乱码

    将mysql容器删除掉: docker rm -f mysql:5.7

    重新执行步骤:1,2,3.  再查看之前插入的数据是否在。

    三、Docker部署Redis

    3.1、简单使用

    1、创建redis容器

    docker run -d -p6379:6379 redis:6.0.8

    2、进入redis容器

    1. docker exec -it redis6.0.8 /bin/bash
    2. #测试:
    3. redis-cli
    4. set name lhz
    5. get name

    3.2、实战使用

    1、准备redis的配置文件:

    1. #在宿主机创建目录/apps/redis
    2. #将redis.conf 文件模板拷贝到/apps/redis 目录下 ,这个配置文件需要自己去下载
    3. 修改redis.conf:
    4. #密码链接
    5. requirepass 123
    6. #允许外界连接
    7. 注释掉bind 127.0.0.1
    8. #daemonize no #后台启动
    9. 将daemonize yes 设置为 no 该配置和docker run 中的 -d参数冲突,会导致容器一直启动失败
    10. #开启数据持久化
    11. appendonly yes

    2、创建容器

    1. docker run -d --name redis6.0.8 -p 6379:6379 --privileged=true -v /apps/redis/redis.conf:/etc/redis/redis.conf -v /apps/redis/data:/data redis:6.0.8 redis-server /etc/redis/redis.conf
    2. -d 后台运行
    3. --name 设置名字
    4. -v 设置卷
    5. --privileged =true 开放权限
    6. 最后的redis-server /etc/redis/redis.conf 设置redis使用哪个redis配置文件启动

    这样运行的redis容器,可以在主机端修改配置文件,数据可以实现持久化,即使删除了redis容器,再以相同的方式运行起来,数据不会丢失。

  • 相关阅读:
    bean 的六种作用域
    基于安卓聊天APP的设计与实现
    【大数据】HBase入门指南
    4500亿芯片巨无霸Arm上市!今年最大IPO诞生
    linux:系统状态检测命令
    MySQL数据库的索引
    安装vue-router及报错问题
    PHP 脚本,其中包含一个函数,该函数会从给定的字符串列表中随机选择一个字符串并返回
    C++内存分区概念
    C语言第十课(下):优化井字棋游戏
  • 原文地址:https://blog.csdn.net/weixin_46371752/article/details/134004122