使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

前言

   趁最近离职有时间,所以开始学习分布式,听大家说windows搭建docker会有很多问题,所以决定搞一个虚拟机,用linux系统来搭建。

正文:

 准备工作:

  1.采用vagrant简化搭建centos/7.

     1.1 先下载visualBox  https://www.virtualbox.org/   版本 6.1.12

     1.2 下载vagrant https://www.vagrantup.com/     版本 2.2.9

     1.3 下载visualBox 所需要的box(因为到时候下载的话很慢,提前用迅雷下载,速度快得多),复制的网址不能用,直接上图,图上标红的就是要下载的。 网址: http://www.vagrantbox.es/

使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

 

 

问题:

           1. visualBox进行安装需要cpu开启虚拟化 

           2.当安装完成后可以使用 vagrant -v进行测试,出现版本号即为成功。

环境搭建

        1. 搭建系统

          1.1 下载的vagrant box放入vagrant中,方便初始化(下载的box必须要在当前目录下)       

    命令:  vagrant box add centos/7(设置的名字)   centos-7.0-x86_64.box(下载的.box名称)

   设置完成可通过vagrant box list显示

  

          1.2 进行初始化(这里指明box名字(centos/7),对应box list 里的box),会生成一个vagrantFile文件,用于后期配置

    命令:   vagrant init centos/7

          1.3 创建系统,同样指明名字  

  命令:   vagrant up 

 

         如果一切成功,可以在virualBox  里看的一台虚拟机,就是我们创建的,并且处于正在运行状态。

         可以使用命令:vagrant ssh 进入系统,查看

        当没有问题后,更改网络配置,虚拟机与宿主机相互ping通

   更改网络配置(提前关闭系统,采用命令与手动在virualbox关闭都一样):找到创建目录下的vagrantFile文件,这里的ip是通过查看本机的分配给virualBox的地址得出,不要一样ip,尾数更换,和我一样加个0,XXX.XXX.XX.10,即可,更改完后,启动生效

使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

 

 使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

 

 

 

 

 

 

 

 

        其他命令:vagrant halt(关闭虚拟机),vagrant up 启动虚拟机(必须要在创建的目录下启动),vagrant reload (重启虚拟机)

      2.搭建系统运行环境

         2.1   安装docker(docker 相关命令都在root下,建议su root 切换成root 权限,密码为 vagran)

        官方文档: https://docs.docker.com/engine/install/centos/

        我实际操作(免除部分无效操作和更换地址): 

          2.1.1 安装所需软件包

        sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2

  

         2.1.2  设置 安装软件地址(阿里云地址)

         

       sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

         2.1.3  进行安装(一路y就行)

       sudo yum install docker-ce docker-ce-cli containerd.io  
  
2.1.4 运行docker
     sudo systemctl start docker

        2.1.5 可以通过查看docker info 来查看docker 是否已经安装好(如果没安装好,运行都不行的0.0,所以这一步没啥必要)

  2.2   docker  配置镜像加速(可以通过阿里云容器服务里看)  阿里云地址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

 

 

 

 

 

                

    2.2.*  大部分教程到上一步就没了,但是我实际配置过程中,配置加速后,依然不可以加速(可以通过 docker pull mysql:5.7 试试,能否下载成功),找了很多资料,最后看到需要在

   

vim /etc/resolv.conf
在后面添加(先双击i,进入插入模式,添加完毕后,按两次Esc键,然后:wq ,保存并退出)
nameserver 8.8.8.8

 

  到此,再次 docker pull mysql:5.7   ,成功下载。(ps:镜像加速的网络配置在重启后就没了,再次添加或者寻找可永久添加的方法,这里就不写了)

   2.3  使用docker安装 mysql 

     2.3.1  将端口映射出去,这样可以直接访问虚拟机IP+端口就可以同时访问docker里的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来查看所有正在运行的容器

   可以通过my.conf 设置一下格式

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

 

  2.3.2 设置完成后,还并不可以通过宿主机navicet 连接,还需要设置可远程访问。

  2.3.3

         mysql 设置远程连接

 

iptables 开启端口映射:

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT iptables -L -n (查看端口是否启用)

 

      进入mysq:

docker exec -it mysql1 mysql -uroot -p root

 

   进入mysql数据库:

use mysql 

 

  修改root访问权限(先查看是否只有一个root,如果有两个root角色就会报错)

update user set host = ‘%‘ where user = ‘root‘;
flush privileges;  刷新权限

 

重启docker和mysql:
systemctl restart docker和docker start mysql

 

使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

 

 

至此,连接成功。

 

使用visualBox创建Centos/7,搭建docker,安装mysql,及远程连接

上一篇:SQL PRIMARY KEY 约束


下一篇:常用命令之mongodb