目录
-> 去docker官网 Docker Hub 查看mysql版本(选择一个下载)
-> 必须添加redis.conf的文件 , 不然默认挂载成文件夹
[注意: docker run左边宿主机位置随便写 右边容器规定]
1. 安装docker版mysql(非常简易)
1.1 docker 拉取mysql
-> 去docker官网===> Docker Hub <===查看mysql版本(选择一个下载)
-> 01 代码指令
docker pull mysql:8.0.28
-> 02 查看 mysql镜像下载情况
docker images(查看)
-> 03 启动镜像
启动指令01 正常
注意: (不在意用户名直接使用 密码自己换一下 直接到04) :
docker run -p 3306:3306 --name mysql \
-v /usr/local/src/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/src/docker/mysql/conf:/etc/mysql \
-v /usr/local/src/docker/mysql/logs:/var/log/mysql \
-v /usr/local/src/docker/mysql/data:/var/lib/mysql \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=pzyzx123 \
-d mysql:8.0.28
-> 参数解释:
-v 挂载目录 mysql-files 目录存放sql语句, 在容器中source宿主机位置运行sql
-d 后台运行 mysql版本的镜像
--name : 将运行的容器 其名为mysql 不写有默认名字
启动指令02: 添加这个(设置用户名) 异常
这个存在问题(缺少关键数据库), 需要解决!!!
-> 这里有篇文章 可以看看 --> docker 运行镜像的多种方式
-e MYSQL_DATABASE=databases \
-e MYSQL_USER=pzy \
-e MYSQL_PASSWORD=pzyzx123 \
常见错误01 :
原因 缺少 mysql_root_password 需要下面三个中的一个
04 检查容器运行情况(mysql),并设置自启动
docker ps -a #查看mysql运行情况
docker exec -it mysql bash #进入镜像
mysql -uroot -p #进入数据容器 尝试进入数据库
pzyzx123 #密码写自己的
show databases; #查看数据库 是四个(最少三个,出现一个删容器重新弄)
docker update mysql --restart=always #设置docker启动自启mysql容器
05 打开navicat 尝试连接
连接不成功: 关闭防火墙(测试) 或开放3306端口(服务器)
或者 查看开放端口是否是3306
这样就成功了!!!!
ps: 特别注意 如果有容器已经建完 发现数据库时间与系统时间相差8小时
按照上面的指令 不会出现以下问题, 容器不是你建的, 或者建完了不想在动了
解决办法如下: (不用删容器, 不用复制容器)
第二步 : mysql是你容器的名字 , 我这里叫mysql
1. docker exec mysql date
2. docker cp /usr/share/zoneinfo/Asia/Shanghai mysql:/etc/localtime
2. 安装redis
准备01 :
在 cd /usr/local/src/docker 目录下 没有就mkdir -p 路径
-p: 上级目录不存在直接创建 不写 不存在报错
准备02 :
mkdir -p redis/conf # 创建redis/config文件夹
touch redis/conf/redis.conf # 创建redis.conf的配置文件
-> 必须添加redis.conf的文件 , 不然默认挂载成文件夹
docker run --name redis -p 6379:6379 \
-v /usr/local/src/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/src/docker/redis/data:/data \
-d --restart=always redis:6.2.6 redis-server /etc/redis/redis.conf \
--requirepass "123456"
参数解释: -d 后台 redis镜像 基于 redis.config这个配置文件 启动redis-server指令 开启redis服务
客户端是redis-cli
-> 新增: redis.conf是空的, 添加默认rdb存储配置
https://blog.csdn.net/pingzhuyan/article/details/128174794
docker ps #查看运行情况
-> 运行成功的话 打开redis可视化工具.
不成功看最下面 传送门 异常解决
注意: 下载地址评论区 留言(比较懒,有需要我在找) 或百度搜
-> 编辑连接(关防火墙或开放6379端口)
-> 这样就连接成功了 这个可视化还是很不错的![](https://img-blog.csdnimg.cn/1f17669e48254af4b46a94458b31a439.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcGluZ3podXlhbg==,size_20,color_FFFFFF,t_70,g_se,x_16)
异常解决传送门, 常规异常解决方式
[docker系列] redis启动异常 overcommit_memory is set to 0 ,Fatal error loading the DB: Invalid argument 解决
评论区也会有留言, 少走弯路