虚拟机的docker中安装 mysql 和 redis
背景介绍
最近重装虚拟机,环境重头安装,这里记录下安装的过程,方便备查。 环境:CentOS Linux release 7
// 查看版本
> cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
一、安装docker
首先 安装 yum 依赖
// 安装 yum
> studo yum install -y yum-utils
安装 docker 两个步骤: 第一步、确认是否安装过docker,若有旧的docker则删除,命令如下。
// 安装 docker-ce
> yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
第二步、yum 命令 安装docker 更新 yum 缓存并安装 docker-ce
// 安装 docker-ce
> yum install docker-ce docker-ce-cli containerd.io
启动docker
// 启动 docker
> systemctl start docker
// 设置docker 为自启动
> systemctl enable docker
// 查看镜像
> docker images
二、安装 mysql
下载镜像
// mysql 镜像,这里选择的是5.7版本
> docker pull mysql:5.7
// 创建用户文件 mydata
> mkdir -p /mydata/mysql/conf
添加配置文件 my.config
// 创建配置文件
> touch 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
创建实例并启动,做目录挂载
// 设置 目录挂载
> docker run -p 3306:3306 --name mysql \
--privileged=true -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端口 -v /mydata/mysql/log:/var/log/mysql 将日志文件挂载到主机 -v /mydata/mysql/data:/var/lib/mysql 将数据文件挂载到主机 -v /mydata/mysql/conf:/etc/mysql 将配置文件挂载到主机 –privileged=true 若未添加的话,可能报错 Exited (1) 8 seconds ago 每行结尾的 \ 符号,表示换行 -e 设置参数,这里是设置密码 -d 后台方式运行,以哪个镜像来运行
挂载成功后,修改容器的配置等,只需要到虚拟机的mydata中修改对应的配置即可。
容器中 mysql 相关设置
// 进入容器内部
> docker exec -it mysql /bin/bash
> // 退出容器
> exit
// 查看 mysql 相关的目录
> whereis mysql
// 设置 mysql 随虚拟机自启动
> docker update mysql --restart=always
// 查看当前运行进程
> docker ps -a
三、安装 redis
安装redis的步骤与安装mysql类似
// redis镜像
> docker pull redis
// 创建用户文件 mydata
> mkdir -p /mydata/redis/conf
// 创建配置文件
touch redis.conf
创建实例并启动,做目录挂载
docker run -p 6379:6379 --name redis \
--privileged=true -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
命令说明: -p 6379:6379将容器的3306端口映射到主机的3306端口 -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf 将配置文件挂载到主机 –privileged=true 若未添加的话,可能报错 Exited (1) 8 seconds ago 每行结尾的 \ 符号,表示换行 -d 后台方式运行,以哪个镜像来运行
挂载成功后,修改容器的配置等,只需要到虚拟机的mydata中修改对应的配置即可。
容器中 redis 相关设置
// 进入容器内部
> docker exec -it redis /bin/bash
// 退出容器
> exit
// 设置 mysql 随虚拟机自启动
> docker update redis --restart=always
// 查看当前运行进程
> docker ps -a
查看的容器运行如下图所示。
mysql 容器重新启动 docker restart mysql
参考博客
【1】https://blog.csdn.net/weixin_40248745/article/details/108060748