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

安装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>

Docker容器安装Mysql和Redis(3)_第1张图片

 启动虚拟机 vagrant up

Docker容器安装Mysql和Redis(3)_第2张图片

 连接虚拟        vagrant ssh

Docker容器安装Mysql和Redis(3)_第3张图片

 切换成root管理员        su root

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

Docker容器安装Mysql和Redis(3)_第4张图片

查看端口        ip addr

Docker容器安装Mysql和Redis(3)_第5张图片

查看mysql,redis是否在运行

使用可视化工具连接mysql 

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

Docker容器安装Mysql和Redis(3)_第6张图片

 Docker容器安装Mysql和Redis(3)_第7张图片

 使用可视化工具连接Redis

Docker容器安装Mysql和Redis(3)_第8张图片

你可能感兴趣的:(Docker,docker,mysql,redis,linux)