1. mysql
1.1 安装
获取镜像
docker pull mysql:8.0.30
创建文件挂载目录
创建容器并运行
docker run -p 3306:3306 --name mysql8 \
-v /home/docker/mysql8/log:/var/log/mysql \
-v /home/docker/mysql8/data:/var/lib/mysql \
-v /home/docker/mysql8/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=Abc1234% \
-d mysql:8.0.30 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
//旧,运行有问题
docker run -p 3306:3306 --name mysql8 \
-v /home/docker/mysql8/log:/var/log/mysql \
-v /home/docker/mysql8/data:/var/lib/mysql \
-v /home/docker/mysql8/conf:/etc/mysql \
-v /home/docker/mysql8/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.30 \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
1.2 配置
开启自重启
docker update mysql8 --restart
进入容器内部
docker exec -it mysql8 bash
mysql开启远程链接
use mysql;
update user set host="%" where user="root";
//刷新权限
flush privileges;
1.3 问题
启动不起来
查看容器日志
docker logs mysql3306
mysqld: Can't read dir of '/etc/mysql/conf.d/'
文件挂载时/etc/mysql/conf.d/
出问题,版本问题
2. Redis
2.1 安装
下载镜像
docker pull reids:6.2.7
创建挂载文件
//在/home/docker目录下
mkdir redis6/conf -p
touch redis.conf
** 创建容器并运行**
docker run -p 6379:6379 --name redis6379 \
-v /home/docker/redis/data:/data \
-v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis:6.2.7 \
redis-server /etc/redis/redis.conf
2.2 容器内部
docker exec -it redis6379 bash
//查看目录
ls /
ls -l
进入客户端控制台
redis-cli
2.3 配置
2.3.1 开启自重启
docker update redis6379 --restart=always
2.3.2 修改密码
requirepass Abc1234%
appendonly yes
2.3.3 Redis持久化策略
在redis内部,/usr/local/bin目录下
快照RDB