虚拟机安装docker,同时安装mysql镜像和redis镜像

一、docker安装

进入docker官网
在浏览器中输入docker
在这里插入图片描述
进入后我们找到centos安装docker的文档
在这里插入图片描述
1、首先,我们需要卸载旧的docker版本
在这里插入图片描述

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、安装docker仓库,便于我们以后安装和修改
在这里插入图片描述

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3、然后安装docker容器
在这里插入图片描述

$ sudo yum install docker-ce docker-ce-cli containerd.io

4、启动docker
在这里插入图片描述

$ sudo systemctl start docker

这样docker就安装完成

二、使用docker安装mysql

在安装mysql之前,我们需要配置阿里云镜像加速,否则下载容器会很慢
进入阿里云官网
点击产品–>容器与中间件–>容器镜像服务
在这里插入图片描述

接着点击管理控制台
在这里插入图片描述
点击镜像加速器
在这里插入图片描述

根据代码配置镜像加速器
在这里插入图片描述

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://3rcpoo5a.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

安装mysql容器

在浏览器中输入docker hub,查找docker容器
在这里插入图片描述

在这里插入图片描述

输入mysql容器,可以查看docker所支持的docker版本
在这里插入图片描述
接着我们在虚拟机的控制台上输入docker pull mysql
这样默认安装的是最新的mysql
如果想要安装旧版本(例如5.7),输入docker pull mysql:5.7在mysql后加上冒号,后边输入想要安装的版本就行
在这里插入图片描述
这样,mysql就安装完成了

可以输入docker images查看所安装的所有镜像
在这里插入图片描述
启动mysql容器

$  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

其中

  • -p 3306:3306是将容器的3306端口映射到主机的3306端口
  • –name 是给mysql容器起个名字
  • -v 是将虚拟机中的文件挂在到mysql容器中的文件(相当于快捷方式),修改虚拟机中的文件内容,mysql容器中对应的文件内容也会相应的改变
  • -e 是修改mysql容器的配置
  • -d 指的是启动哪个容器

这样mysql容器就启动了
输入docker ps可以查看当前正在运行的容器

在这里插入图片描述
启动完成之后,我们可以用mysql客户端进行连接测试一下
在这里插入图片描述

以后启动就直接使用命令docker start 容器名/容器id
停止容器使用命令docker stop 容器名/容器id

接下来修改一下mysql的配置
由于我们做了挂载,所以直接在linux中进行修改就行
进入到我们所挂载的目录中
在这里插入图片描述
创建并编辑文件my.cnf
在其中添加如下内容

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


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

然后我们进入到mysql容器中
进入到mysql的配置中
在这里插入图片描述
在这里,会发现存在一个mysql的配置文件,然后退回到linux操作界面重启mysql容器就行(docker restart mysql

docker 安装redis

现在docker hub 中搜索redis,找到我们想要安装的版本
在这里插入图片描述
在这里我就拉去最新的redis就行了

在这里插入图片描述
docker images查看安装的容器
在这里插入图片描述
由于我们启动redis容器需要像mysql一样进行配置文件挂载,所以在开始之前需要创建相关的配置文件

cd mydata
mkdir redis
mkdir conf
mkdir data
touch redis.conf

创建完成之后,启动redis容器

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查看当前进程
在这里插入图片描述
这样的话redis容器就安装完成了,但是如果我们在redis中保存数据并重启redis,会发现保存的数据没办法持久化,所以我们还需要修改redis的配置文件
直接编辑我们所挂载的文件就行
进入创建的 /mydata/redis/conf/ 目录下,编辑redis.conf文件
在这里插入图片描述
在其中添加内容

appendonly yes

具体的redis持久化三种方式需要自己去了解
在这里插入图片描述
保存退出即可

这样redis持久化就完成了

如果是远程访问redis:

1.redis.conf文件有一项配置默认是bind 127.0.0.1,也就是默认只支持本机访问Redis,你把这一项注释掉。

2.找到protected-mode yes 把它改成no。

3.查看虚拟机防火墙是否关闭

4.改完后要重启redis

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值