在Centos中使用Docker安装Mysql和Redis

1. 虚拟机安装docker

参考官网教程: https://docs.docker.com/engine/install/centos/

#卸载系统之前的docker 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                                 
sudo yum install -y yum-utils

# 配置镜像
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#下载docker    
sudo yum install docker-ce docker-ce-cli containerd.io

#启动docker
sudo systemctl start docker

# 设置开机自启动
sudo systemctl enable docker

#查看docker版本
docker -v

#查看已有的docker镜像
sudo docker images

# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2. 用docker安装mysql

在安装完docker之后,我们可以使用docker安装mysql和redis

首先需要我们去docker仓库里搜索mysql,并将它下载

#使用docker search 搜索docker仓库中的镜像
sudo docker search mysql
#使用docker pull 从线上仓库下载mysql:5.7版
sudo docker pull mysql:5.7
#使用docker images 查看是否下载成功, 如果出现mysql的image 则下载成功
sudo docker images

# 创建运行的mysql容器
# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
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

使用docker ps 查看mysql容器是否启动成功

[root@localhost vagrant]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
6a685a33103f        mysql:5.7           "docker-entrypoint.s…"   32 seconds ago      Up 30 seconds       0.0.0.0:3306->3306/tcp, 33060/tcp   mysql

我们还可以使用docker exec 进入容器测试

docker exec -it mysql bin/bash
mysql -u root -p #输入密码root可以进入mysql bash
exit; #使用exit退出

创建mysql配置文件

vi /mydata/mysql/conf/my.conf  #创建配置文件

#配置文件内容 
[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
#配置文件内容结束

#保存后重启mysql容器
docker restart mysql

这样一来,我们在虚拟机中就安装好了docker 的mysql容器

3.用docker安装Redis

安装Redis的过程和Mysql类似,不过要注意如果我们像Mysql一样直接挂载Redis文件的话,docker会以为我们挂载的是一个目录,所以我们需要先在虚拟机中创建一个文件然后再挂载

# 在虚拟机中创建路径和文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

#下载redis image
docker pull redis

#启动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

同样,我们可以测试进入Redis容器

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

Redis默认是不持久化的。所以需要我们在配置文件实现持久化。

#创建redis配置文件
vi /mydata/redis/conf/redis.conf

#配置内容
appendonly yes

修改完重启Redis容器

docker restart redis

4. 设置容器开机自启动

设置自启动后,当虚拟机启动时,docker容器就会自动启动

# 我们接下来设置我们要用的容器每次都是自动启动
sudo docker update redis --restart=always
sudo docker update mysql --restart=always

你可能感兴趣的:(在Centos中使用Docker安装Mysql和Redis)