【docker】部署数据库(mysql、redis)

mysql

  1. docker pull mysql
  2. 运行容器:
docker run --name mysql -p 8806:3306 -e MYSQL_ROOT_PASSWORD=xxxx  -e MYSQL_USER=xxxxx -e MYSQL_PASSWORD=xxx -d mysql:latest
  1. 上一步骤创建的root用户和普通用户存在一写问题:

    • root不允许远程登陆
    • 普通用户未设置数据库访问权限

    给普通用户增加数据库访问权限:

    1.进入容器:
    docker exec -it xxxx容器idxxxx /bin/bash
    2.进入mysql:
    mysql -u root -p
    3.分配权限:
    > create database <database name>;
    > GRANT ALL ON <database name>.* TO '<username>'@'%';
    > flush privileges;
    > exit;
    

redis:

创建容器并允许远程通过密码访问:

  1. docker pull redis
  2. vi redis.conf #放在一个自己喜欢的位置,以/root为例:
    protected-mode no
    requirepass xxxxxxxx
    
  3. 运行容器:
    docker run --privileged=true -p 8379:6379 --restart always -v /root/redis.conf:/etc/redis/redis.conf --name myredis -d redis redis-server /etc/redis/redis.conf
    
原文地址:https://www.cnblogs.com/lisicn/p/15397454.html