zoukankan      html  css  js  c++  java
  • 《容器化系列二》利用Docker容器化技术安装多个mysql

    前提说明

    安装的Linux系统版本为Centos7.x

    一、安装docker并测试

    1、安装yum相关工具包

    ///安装yum相关工具包
    yum install -y yum-utils device-mapper-persistent-data lvm2

    //发些报错,关闭刚刚睡眠中的进程
    kill -9 13312
    
    //再次执行
    yum install -y yum-utils device-mapper-persistent-data lvm2

     2、添加docker的下载源

    建议用下面的阿里源

    //添加阿里的安装源
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    //进入yum的仓库配置目录进行查看
    [root@Linux-docker1 ~]# cd /etc/yum.repos.d/
    [root@Linux-docker1 yum.repos.d]# ls

    //元数据缓存的建立
    yum makecache fast

    3、安装docker

    //注:安装的是docker社区版本
    yum -y install docker-ce

    //安装完我们验证一下
    [root@Linux-docker1 yum.repos.d]# rpm -qa |grep docker

     4、更改镜像源为国内阿里云节点,并指定docker数据存储目录

    mkdir -p /data/docker
    mkdir -p /etc/docker
    vim /etc/docker/daemon.json
    //注:docker安装好后默认没有此文件,需要手动创建,添加阿里云镜像节点,并指定docker存储目录
    //按i键进入编辑,按Esc键退出编辑模式,按:wq进行保存
     { "registry-mirrors": ["https://ehdjgsyp.mirror.aliyuncs.com"],"graph": "/data/docker" } 

     5、启动docker,并加入开机启动

    //启动docker
    systemctl start docker
    //加入开机自启
    systemctl enable docker

    6、测试验证docker是否启动

    //从仓库下载hello-world镜像
    docker pull hello-world

    //查看本地镜像
    [root@Linux-docker1 yum.repos.d]# docker images

    //启动镜像
    [root@Linux-docker1 yum.repos.d]# docker run hello-world

    二、下载镜像并启动mysql容器

    1、下载mysql镜像

    //下载mysql镜像
    docker pull mysql
    --如果下载失败,请多试几次,如果实在没速度,就需要去看上面添加的阿里镜像源是否有填写正确

    2、启动mysql容器

    //启动mysql容器
    docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3333:3306 -d mysql
    ##参数说明
    -name容器的别称。
    -p端口映射。格式是主机的端口:容器的端口。
    -e设置容器的环境变量。-e MYSQL_ROOT_PASSWORD= 123456就代表mysq的root的密码是123456
    -d使用镜像包名称,可以通过docker images查看

    3、验证查看容器状态

    --查看容器状态
    docker ps -a

     4、直接进mysql的容器中的bash

    //docker exec -it 容器名 /bin/bash
    
    docker exec -it docker-mysql /bin/bash
    //进去以后
    mysql -uroot -p
    //密码是刚刚设置的123456

    5、用本地的Navicate进行连接

    ①确认环境

    首先安装docker的那台Linux宿主机的ip为 192.168.59.132

    对应的mysql端口为3333

    msyql账号root

    mysql密码123456

     ②发现报错

     2059-Authentication plugin 'caching.sha2_password' cannot be loaded:..@..gv頗

    ③解决问题

    需要利用上面第4步在docker的mysql容器中执行这条sql语句

    alter user 'root'@' %' identified with mysql_native_password by '123456';

    上面123456需要改成你自己mysql设置的密码

     测试连接成功

    到此,我们的一个数据库安装成功

    三、安装第2个mysql数据库

    1、启动mysql容器,更改端口和容器名称即可

    //启动mysql容器,更改端口3333改成3334,防止端口冲突,还需要更改容器名称把之前的docker-mysql随便改成不同的即可,这里改成了docker-mysql-2
    docker run --name docker-mysql-2 -e MYSQL_ROOT_PASSWORD=123456 -p 3334:3306 -d mysql
    这样新的mysql容器又起来了

    2、用Navicate进行连接

    首先安装docker的那台Linux宿主机的ip为 192.168.59.132

    对应的mysql端口为3334(上面那个是3333)

    msyql账号root

    mysql密码123456

     后续步骤应该不用多说了吧

     

     3、以此类推可以安装其他的mysql,只需要映射的端口号和容器名不同即可

    四、其他说明

    1、doker关闭容器

    //docker stop +容器名或者+容器的id
    docker stop $CONTAINER_ID

    2、容器的id在哪找

    //直接docker ps -a 一下
    docker ps -a

    3、手动关闭后的容器怎么启动

    //直接start一下即可+容器名或者+容器id
    docker start docker-mysql

    4、怎样关闭docker的服务

    //直接用系统服务进行关闭,关闭以后,里面的容器也会相应关闭!所以请先关停里面的容器,再关闭docker服务!
    systemctl stop docker

    5、启动docker的服务

    //直接利用系统服务去启动
    systemctl start docker

    欲知如何配置容器自己的IP

    请听下回分解          

    2020.07.23           

  • 相关阅读:
    学习web前端怎样入门?初学者赶紧看过来!
    web前端教程:CSS 布局十八般武艺都在这里了
    [zhuan]arm中的汇编指令
    adb命令
    [zhuan]使用uiautomator做UI测试
    [zhuan]java发送http的get、post请求
    Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
    android getpost代码
    [转]Android 如何根据网络地址获取网络图片方法
    Android Json解析与总结
  • 原文地址:https://www.cnblogs.com/spdb/p/13359845.html
Copyright © 2011-2022 走看看