zoukankan      html  css  js  c++  java
  • Docker1:本地连接Docker中的mysql,实现数据同步

    说明:最近在学习Docker,打算记录一下学习过程,不会从安装开始,只记录遇到的问题以及个人觉得“真香”的玩法。

    后悔没有早点学习,这几天才发现是真的香啊,即使已经有了k8s,但我总觉得学习容器技术,也要先从Docker开始。话不多说,进入正题。

    问题:在docker中安装并启动mysql,挂载本地目录到容器,在本地使用Navicat连接容器中的数据库,实现数据同步。

    一、在docker中运行mysql镜像

    1、查询mysql镜像

    docker images

    2、启动并挂载msyql数据目录到本地指定目录

    docker run -p 3307:3306 --name mysql  -v /Users/hyc/DockerStudy/mysql/log:/var/log/mysql  -v /Users/hyc/DockerStudy/mysql/data:/var/lib/mysql  -v /Users/hyc/DockerStudy/mysql/conf:/etc/mysql  -e MYSQL_ROOT_PASSWORD=root  -d mysql:5.7 

     

    3、查看docker容器是否启动

    docker ps

     mysql已经启动,下面进入容器去连接mysql

    4、进入容器连接mysql

    docker exec -it 2e0e37441a3e /bin/bash
    mysql -u root -p

      

     5、本地连接容器数据库

    点击测试连接,发现成功;

     

    6、测试数据同步问题

    在本地新建数据库docker和docker_test表并插入一些数据后,去容器查看,发现数据已经同步到了容器

     

     7、删除容器

    将运行的容器删除后,发现本地连接失败

    docker rm -f 2e0e37441a3e

     刷新本地连接报错如下

     

    8、重新使用之前的命令运行容器

    docker run -p 3307:3306 --name mysql  -v /Users/hyc/DockerStudy/mysql/log:/var/log/mysql  -v /Users/hyc/DockerStudy/mysql/data:/var/lib/mysql  -v /Users/hyc/DockerStudy/mysql/conf:/etc/mysql  -e MYSQL_ROOT_PASSWORD=root  -d mysql:5.7
    

     

     查看数据,发现数据也依然存在,并没有因为数容器的删除而删除

     通过上面的操作发现,只要在docker中运行mysql镜像,通过数据卷技术(后面细说)将本地目录挂载到容器中的指定目录,就能实现本地与容器间的数据同步,所以以后就不用在本地傻傻的安装数据库(还有别的软件)了,

    是真的香啊!!!

    最美好的时光里,不要一直是一个lowser!
  • 相关阅读:
    Linux 设备驱动--- Poll 方法 --- Select【转】
    Linux 设备驱动--- 阻塞型字符设备驱动 --- O_NONBLOCK --- 非阻塞标志【转】
    一篇不错的v4l2入门文档【转】
    戴文的Linux内核专题:03 驱动程序【转】
    戴文的Linux内核专题:02 源代码【转】
    使用 Python 开始你的机器学习之旅【转】
    双缓冲(Double Buffer)原理和使用【转】
    内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages【转】
    几种常见的YUV格式--yuv422:yuv420【转】
    C程序编译过程浅析【转】
  • 原文地址:https://www.cnblogs.com/hellowhy/p/14590163.html
Copyright © 2011-2022 走看看