, 解决docker的mysql相差8小时方法)
目录1. 安装docker版mysql(非常简易)1.1 docker 拉取mysql- 去docker官网 Docker Hub 查看mysql版本(选择一个下载) - 01 代码指令- 02 查看 mysql镜像下载情况- 03 启动镜像启动指令01 正常启动指令02: 添加这个(设置用户名) 异常常见错误01 :04 检查容器运行情况(mysql),并设置自启动05 打开navicat 尝试连接2. 安装redis准备01 :准备02 :- 必须添加redis.conf的文件 , 不然默认挂载成文件夹- 运行成功的话 打开redis可视化工具.- 编辑连接(关防火墙或开放6379端口)- 这样就连接成功了 这个可视化还是很不错的[注意: 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 TZAsia/Shanghai \ -e MYSQL_ROOT_PASSWORDpzyzx123 \ -d mysql:8.0.28- 参数解释:-v 挂载目录 mysql-files 目录存放sql语句, 在容器中source宿主机位置运行sql-d 后台运行 mysql版本的镜像--name : 将运行的容器 其名为mysql 不写有默认名字启动指令02: 添加这个(设置用户名) 异常这个存在问题(缺少关键数据库), 需要解决!!!- 这里有篇文章 可以看看-- docker 运行镜像的多种方式-e MYSQL_DATABASEdatabases \ -e MYSQL_USERpzy \ -e MYSQL_PASSWORDpzyzx123 \常见错误01 :原因 缺少 mysql_root_password 需要下面三个中的一个04 检查容器运行情况(mysql),并设置自启动docker ps -a #查看mysql运行情况 docker exec -it mysql bash #进入镜像 mysql -uroot -p #进入数据容器 尝试进入数据库 pzyzx123 #密码写自己的 show databases; #查看数据库 是四个(最少三个,出现一个删容器重新弄) docker update mysql --restartalways #设置docker启动自启mysql容器05 打开navicat 尝试连接连接不成功: 关闭防火墙(测试) 或开放3306端口(服务器)或者 查看开放端口是否是3306这样就成功了!!!!ps: 特别注意 如果有容器已经建完 发现数据库时间与系统时间相差8小时按照上面的指令 不会出现以下问题, 容器不是你建的, 或者建完了不想在动了解决办法如下: (不用删容器, 不用复制容器)第二步 : mysql是你容器的名字 , 我这里叫mysql1. docker exec mysql date 2. docker cp /usr/share/zoneinfo/Asia/Shanghai mysql:/etc/localtime2. 安装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 --restartalways 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/128174794docker ps #查看运行情况- 运行成功的话 打开redis可视化工具.不成功看最下面 传送门 异常解决注意: 下载地址评论区 留言(比较懒,有需要我在找) 或百度搜- 编辑连接(关防火墙或开放6379端口)- 这样就连接成功了 这个可视化还是很不错的3. redis安装复杂版 指令大全mkdir -p /usr/local/src/docker/redis/conf cd /usr/local/src/docker/redis/conf touch redis.conf wget -O /usr/local/src/docker/redis/conf/redis.conf https://raw.githubusercontent.com/redis/redis/6.2.6/redis.conf修改配置文件(每行对应注释)# 设置密码123456 # 关闭保护模式否则外部连不上 # 监听所有IP注释掉 bind 127.0.0.1 # 持久化开启可选 sed -i s/# requirepass foobared/requirepass pzyzx123456/ /usr/local/src/docker/redis/conf/redis.conf sed -i s/protected-mode yes/protected-mode no/ /usr/local/src/docker/redis/conf/redis.conf sed -i s/bind 127.0.0.1/#bind 127.0.0.1/ /usr/local/src/docker/redis/conf/redis.conf sed -i s/# appendonly no/appendonly yes/ /usr/local/src/docker/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 --restartalways redis:6.2.6 redis-server /etc/redis/redis.conf防护墙记得开放 即可访问异常解决传送门, 常规异常解决方式[docker系列] redis启动异常 overcommit_memory is set to 0 ,Fatal error loading the DB: Invalid argument 解决评论区也会有留言, 少走弯路