• 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!
  • 相关阅读:
    Windows Phone SDK 8.0 新特性Speech
    《101 Windows Phone 7 Apps》读书笔记Groceries
    创建分辨率自适应的Windows Phone 8应用程序
    《101 Windows Phone 7 Apps》读书笔记BABY MILESTONES
    Windows Phone SDK 8.0 发布
    《101 Windows Phone 7 Apps》读书笔记BABY NAME ELIMINATOR
    《101 Windows Phone 7 Apps》读书笔记BOOK READER
    Word转PDF文档时,如何嵌入字体
    《101 Windows Phone 7 Apps》读书笔记NOTEPAD
    《101 Windows Phone 7 Apps》读书笔记Cowbell
  • 原文地址:https://www.cnblogs.com/hellowhy/p/14590163.html
Copyright © 2020-2023  润新知