一、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