• 使用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/

    问题:

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

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

    环境搭建

            1. 搭建系统

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

        命令:  vagrant box add centos/7
    

      

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

        命令:   vagrant init centos/7

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

      命令:   vagrant up centos/7

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

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

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

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

     

            其他命令: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

                    

        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访问权限

    update user set host = '%' where user = 'root';
    flush privileges;  刷新权限
    重启docker和mysql:
    systemctl restart docker和docker start mysql

    至此,连接成功。

  • 相关阅读:
    pat 乙级1084 外观数列
    将int 转换为string 函数 to_string()
    stl find_first_not_of()函数
    小写转变为大写函数toupper()
    基础实验2-2.3 组合数的和 (15分)
    基础实验2-2.2 求集合数据的均方差 (15分)
    习题1.9 有序数组的插入 (20分)
    用eclipse运行算法第四版的BinarySearch
    关于脱发
    HUD-2586(LCA板子)
  • 原文地址:https://www.cnblogs.com/PierreZ/p/13474936.html
Copyright © 2020-2023  润新知