在CentOs7系统中搭建docker测试MySQL
Posted Filter(*-*)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CentOs7系统中搭建docker测试MySQL相关的知识,希望对你有一定的参考价值。
在CentOs7系统中搭建docker测试mysql
前言
对于大部分初学者朋友来说想要尝试在docker环境下使用mysql,使用阿里云,腾讯云之类的虽然更简单但花费也会增多,那为啥不自己来搭建一个简单的liunx系统试试呢?
CentOS7系统搭建
先在官网下载镜像,这里我用的是VMware15.5
先新建一个虚拟机:
先创建一个空白硬盘
选择liunx下centos7系统:
把你的虚拟机放在自定义文件夹里
根据需求分配磁盘空间
在这里自定义硬件
在这里选择你下载好的镜像,其他设置的根据自己的需求来
就完成了!接下来我们进入虚拟机配置
这里选择你的语言
把这些配置好直接开始安装
设置你的root密码和登录账号
完成后重启就可以开始配置了
建议使用xshell远程连接工具,这样更方便一点,但centos7系统搭建完成后无法正常显示ip,这里需要先进行搭建前的准备:
进入vi编辑器将网卡配置中的ONBOOT
修改为YES
(输入完成后按ESC输入:wq回车保存退出):
$ vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络服务:
$ service network restart
使用ip addr 查看ip即可与xshell连接
安装docker
重启后输入账号密码登录你的CentOS7系统,su命令进入root管理员模式开始配置:
1.通过 uname -r 命令查看你当前的内核版本
$ uname -r
2、root权限更新Yum包
$ yum update
3、卸载旧版本:(如果安装过旧版本的话)
$ yum -y remove docker docker-common docker-selinux docker-engine
4、设置Yum源:
$ yum install -y yum-utils device-mapper-persistent-data lvm2
执行以下命令,添加docker的yum源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、查看所有仓库中docker版本,并选择特定版本安装:
$ yum list docker-ce --showduplicates | sort -r
6、安装docker (此处我们安装社区版 docker-ce):
$ yum install docker-ce
7、启动并加入开机启动
$ systemctl start docker (重启命令 $ systemctl restart docker )
$ systemctl enable docker 开机启动
$ docker version 查看docker版本号
8、验证是否安装成功
$ docker run hello-world
显示hello from docker则测试成功!但可能报Unable to find image ‘hello-world:latest’ locally的问题。这是因为docker服务器在国外,基于网速与“和谐墙”的问题,所以我们在国内操作国外镜像可能无法正常拉取,这需要我们为docker设置国内的阿里云镜像加速器。
解决办法:
1.创建文件daemin.json文件(直接使用vi编辑器创建)
$ vi /etc/docker/daemon.json
2.配置文件添加,输入完成后按ESC输入:wq回车保存退出
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
3.重启docker服务
$ systemctl restart docker
$ sudo systemctl status docker
再重复之前的拉取hello word镜像就可以了!
docker安装MySQL
1.查找MySQL镜像:
$ docker search mysql
2.拉起MySQL镜像(:5.7 表示5.7版本):
$ docker pull mysql:5.7
3.运行MySQL容器:
$ docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
参数说明:
- run run 是运行一个容器
- -d 表示后台运行
- -p 表示容器内部端口和服务器端口映射关联
- –privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
- -v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
- -v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
- -e MYSQL_ROOT_PASSWORD=123456 设置MySQL数据库root用户的密码
- –name mysql 设值容器名称为mysql
- mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器
- –character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码
4.进入容器:
$ docker exec -it mysql bash
5.执行MySQL命令, 输入root密码, 连接MySQL:
$ mysql -uroot -p
6.输入密码后, 执行下面命令创建新用户 (用户名: test , 密码: test123 可以自己定义)
$ GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'test123' WITH GRANT OPTION;
这样你的mysql就搭建完成了!
但这样的数据库有一个问题,当年关闭虚拟机以后会导致再次启动无法连接到navicat工具,所以这里建议加一个开机自启:
systemctl enable docker
设置容器自动重启:
docker update --restart=always 容器ID(或者容器名)
这样你的mysql就搭建完成了!
但这样的数据库有一个问题,当年关闭虚拟机以后会导致再次启动无法连接到navicat工具,所以这里建议加一个开机自启:
systemctl enable docker
设置容器自动重启:docker update --restart=always 容器ID(或者容器名)
以上是关于在CentOs7系统中搭建docker测试MySQL的主要内容,如果未能解决你的问题,请参考以下文章