Docker容器安装Mysql和Redis(3)

前言:容器安装的好处是,相互隔离互不影响,相比于传统的一个linux下安装多个服务,其中一个服务报错可能影响其他服务的问题,现在一个服务就是一个容器互不影响

目录

1、安装MySQL

1.1、拉取镜像

1.2、创建并启动

1.3、外部创建映射文件

1.4、设置自启

2、安装Redis

2.1、拉取镜像

2.2、创建并启动

2.3、开启redis持久化

2.4、设置自启

本地测试


1、安装MySQL

1.1、拉取镜像

#用docker安装上mysql,可以去docker仓库里搜索
mysql sudo docker pull mysql:5.7

1.2、创建并启动

#docker run 用来创建并启动一个容器 
#第一个3306端口是,liunx的3306端口,第二个3306端口是docker容器里面mysql的端口
#让他们一一对应,相当于访问liunx的3306端口就是访问docker里面mysql的端口
#-p 就是端口映射
#--name mysql 给当前容器命名为mysql
#v /mydata/mysql/log  在linux的主目录下的mydata下的mysql下的log文件夹
#:/var/log/mysql 与docker容器下的主目录下的var下的log下的mysql文件,
#进行一个挂载(容器里的mysql数据库运行产生的日志,我们可以直接在linux系统中进行查看),相当于容器里面的一个快捷方式放在linux里面
#第一个-v是mysql日志,第二个是mysql运行产生的数据持久化方便以后在linux里面备份数据库,第三个是mysql配置信息

#root账号的密码

sudo 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/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

1.3、外部创建映射文件

#退出进入的容器
exit

#方便以后修改容器里面mysql的配置,在外部linux中创建mysql的映射文件
#进入linux中的mysql映射文件
cd /mydata/mysql/conf

#里面是没有my.cnf,编辑(编辑文件,没有它会自行创建并编辑)
vi my.cnf

注: (因为有目录映射,所以我们可以直接在镜像外执行
vi /mydata/mysql/conf/my.conf 
)

#进入以后按i键,左下角会有一个insert,表示插入的意思
#将下面的文件复制进去

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

#保存退出vi编辑模式
按ESC键,下面的insert会消失,然后:wq

#配置好了重启mysql
docker restart mysql

#查看是否配置好,在liunx中用交换模式进入docker里面的mysql
docker exec -it mysql /bin/bash

#进入以后,根据上面的映射,我们得进入配置文件
cd /etc/mysql

#查看my.cnf文件
cat my.cnf

1.4、设置自启

#设置mysql容器在docker启动的时候启动
docker update  mysql --restart=always

2、安装Redis

<sudo密码是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具>

安装Redis这里使用root管理员安装

# 切换成root用户
su root

2.1、拉取镜像

#下载redis镜像(后面没有:说明直接下载最新的redis)
docker pull redis

2.2、创建并启动

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
#注 mkdir是创建文件夹,touch,vi都是创建文件

docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

#安装完成后,检查一下
docker ps

2.3、开启redis持久化

#直接进入redis客户端
docker exec -it redis redis-cli

#开启redis持久化
vi redis.conf
#输入i插入(让redis启用AOF(数据发生改变就写入)的持久化方式)
appendonly yes

2.4、设置自启

#设置redis容器在docker启动的时候启动
docker update redis --restart=always

(#重启命令    redis,docker restart redis)

本地测试

在本地存放vagrantfile的地方cmd<不懂的可以看我上一篇http://t.csdn.cn/070XD>

 启动虚拟机 vagrant up

 连接虚拟        vagrant ssh

 切换成root管理员        su root

 <因为我们使用的是vagrant创建的虚拟机,root账号密码默认是vagrant>

查看端口        ip addr

查看mysql,redis是否在运行

使用可视化工具连接mysql 

<数据库密码上面设置的是root>

 

 使用可视化工具连接Redis

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

键可不冷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值