在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(或者容器名)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值