Docker安装mysql & redis

一、Docker安装mysql

二、Docker安装redis

1、我们这里有两种访问redis的方式:

第一种:使用redis镜像执行redis-cli命令连接

 但是这个访问方式有一个缺点!!!!!!

第二种:用redis的可视化工具


一、Docker安装mysql

1、首先第一步就是去docker镜像仓库中拉取一个5.7版本的mysql镜像:我们在Docker笔记数据卷挂载那里写过一个手动创建mysql镜像,然后基于该镜像运行容器的,这里我们演示从镜像仓库服务器拉取的方式

命令: docker pull mysql:5.7    

注: 不加 5.7版本的话就默认拉取的是最新的mysql镜像版本

 

 2、有了该mysql镜像后,我们就可以基于该镜像运行容器了:

        注1:以挂载数据卷的形式运行容器

        注2: 宿主机的这些文件目录不用先创建,Docker非常智能会给我们自动创建

docker run -p 3306:3306 --name mysql \
 -v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/nysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -d mysql:5.7

 重点:如果这些命令复制显示找不到命令的话,就一行一行的手敲命令!!!!

 

 参数说明-p3306:3306:将容器的3306端口映射到主机的3306端口(用户访问容器的3306端口,就可以访问到容器内部的mysql的3306了)

-v/mydata/mysql/conf:/etc/mysql:将mysql容器内的/etc/mysql配置文件夹挂载到主机/mydata/mysql/conf的位置上,这样就不用再进入到mysql容器内部修改文件数据了(这就是数据卷的魅力)

-v/mydata/mysql/log:/var/log/mysql:同理

-v/mydata/mysql/data:/var/lib/mysql/:同理

-eMYSQL_ROOT_PASSWORD=123456:初始化root用户的密码

3、mysql容器运行成功后,我们就可以测试了(也就是说看看是否可以成功访问到mysql了):

重点注意:用可视化工具连接的时候,linux自带防火墙别忘记开放3306端口!!!!(这里我已经把防火墙整体关闭了)

 

 

 注意:我们测试能够连接成功时,先别进行连接该mysql,我们可以先设定一下这个数据库的编码形式,防止后期出现一些乱码问题,设定好之后就可以连接这个mysql了:

设定编码形式:

  

加入完这些配置之后,再输入 docker restart mysql 命令重启mysql容器即可。 

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]init_connect='SETcollation_connection=utf8_unicode_ci'
init_connect='SETNAMESutf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

最终通过上面的操作后,Docker就成功的安装上了mysql了(并且也做了防止乱码的处理)

二、Docker安装redis

1、同理第一步也是去Docker镜像仓库中拉取redis镜像:

2、同理我们现在有了redis镜像后,就可以基于这个redis镜像运行容器了:

这里和运行mysql容器有一点差别如下所示:

 

 然后就可以基于redis镜像输入命令运行容器了:

命令如下所示:

 

重点:还是别粘贴复制了,建议手敲命令,要不然很容易就报错了!!!!

通过上面的操作,我们的redis就成功的启动了,我们就可以使用redis可视化工具进行输入一些redis命令了(回顾:redis的五种储存类型) 

1、我们这里有两种访问redis的方式:

第一种:使用redis镜像执行redis-cli命令连接

也就是说我们redis容器启动成功后,输入一个命令即可访问到redis,然后就可以输入一些redis的命令进行操作储存/删除/修改redis中的数据了:

命令:docker exec -it redis redis-cli

 但是这个访问方式有一个缺点!!!!!!

问题:储存的数据不能够持久化,也就是说我们上面储存在key为a的value数据,当我们这个redis容器重启的话那么这个数据就丢失了,只要重启redis容器那么数据就会丢失,那肯定是不行的。

因此我们可以设定一下配置解决这个不能持久化的问题:

 

然后再重启一下redis容器,这个不能持久化问题就解决了:

重启redis容器命令:docker restart redis

第二种:用redis的可视化工具

 

 

最终我们会发现确实在连接成功后能够在可视化工具中看到刚才我们设定的key为a,value为b的数据。 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值