目录
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 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/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 --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端口)
-> 这样就连接成功了 这个可视化还是很不错的![]()
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 --restart=always 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 解决
评论区也会有留言, 少走弯路