当前位置: 首页 > news >正文

容器数据卷+MYSQL实战

什么是容器数据卷?

让我们回忆一下docker理念:

就是将应用和环境打包成一个镜像

数据? 如果数据都在容器中,那么我们删除容器,数据就会丢失  !需求:数据持久化就完美了

对于MYSQL,容器删除了,数据就没了        需求:MYSQL数据可以存储在本机就完美了

容器之间可以有一个数据共享的技术,docker容器中产生的数据,同步到本地

这就是卷技术  就是目录的挂载,将我们的容器内的目录,挂载到linux上面

为什么要用卷技术:就是为了容器持久化和数据同步,同时容器之间也可以数据共享

1.运行容器 

-v就是挂载,把主机上的home下的ceshi目录挂载到容器中的home目录中(实现同步)

以后我们只需要修改主机内的东西就行了,就能实现同步,不需要在进入容器,很方便

2.因为第一个终端在容器中,另开个终端查看容器详细信息  docker inspect 容器id  

3.查看挂载情况,容器内home目录与主机home下的ceshi目录做了绑定(同步的意思)

4.测试是不是挂载成功,能不能同步(是容器home目录和主机home下的ceshi目录同步)

在容器创建一个test.txt

进入ceshi目录查看,发现同步过来了

再来测试,当我们把centos容器停止掉exit,在主机添加东西,看看容器内会不会同步

在主机test.txt中添加了hello world,看看容器在退出后能不能同步

找到历史容器docker ps -a

再次开启容器    docker start 容器id

进入正在运行的容器 docker attach 容器id

查看是否同步,发现同步过来了  (切记一定要切换到home目录,因为你的容器home目录才是和主机ceshi目录同步的)

到此说明同步没问题

实战MYSQL

查找mysql镜像   docker search mysql

下载mysql5.7版本 docker pull mysql:5.7

查看镜像是否下载成功  docker images

运行容器,并数据挂载,安装启动mysql要配置密码,要切记

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

-d 是后台运行   -p 是端口映射   -v是挂载  -e是环境配置  --name 是给容器取个新名字

启动成功之后,我们在本地使用sqlyog来测试下

用sqlyog连接到服务器3310    3310和容器3306映射,这个时候我们就可以连接上了,密码就是上面设置的密码123456

在本地测试,创建一个数据库,查看一下我们的路径是否ok

新建的数据库进到data目录中了,说明连接成功了

尽管我们把容器删除了 docker rm -f mysql01

发现,我么们挂载到本地的数据卷依旧没有丢失,这就实现了容器数据持久化功能 

http://www.lryc.cn/news/229256.html

相关文章:

  • 开发者测试2023省赛--UnrolledLinkedList测试用例
  • HoudahGeo 6 for Mac:掌控地理位置信息的强大工具
  • Xilinx Artix7-100T低端FPGA解码MIPI视频,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持
  • C与汇编深入分析
  • MySQL中外键的使用及外键约束策略
  • Home Assistant使用ios主题更换背景
  • 深入了解鼠标光标的设置过程
  • 数据结构-散列表
  • 一款IT团队都在用的私有化知识库,技术开放,还开源了!
  • 解决 docker compose 官方 MySQL 镜像在容器中不能输入中文的问题
  • 基于连续Hopfield神经网络优化——旅行商问题优化计算
  • SpringBoot整合Activiti7——定时器事件(九)
  • 轻量封装WebGPU渲染系统示例<29>- 深度模糊DepthBlur(源码)
  • LeetCode226. Invert Binary Tree
  • Java设计模式-创建型模式-建造者模式
  • PyQt中QFrame窗口中的组件不显示的原因
  • git 命令行回退版本
  • IntelliJ IDEA 安装 GitHub Copilot插件 (最新)
  • viewpage选择器
  • vue中如何将json数组指定的key赋值给el-form-item并均匀的分成2列
  • 笔记本分屏怎么操作?3个方法提高工作效率!
  • Android 使用poi生成Excel ,word并保存在指定路径内
  • 嵌入式杂记 -- MCU的大小端模式
  • 对这套BI零售数据分析方案心动,是零售人天性
  • vuekeyclock 集成
  • ARM Linux 基础学习 / 配置交叉编译工具链 / 编译 Linux 应用和驱动 / 编译内核
  • 通讯协议学习之路(实践部分):SPI开发实践
  • 【系统安装】ubuntu20.04启动盘制作,正经教程,小白安装教程,百分百成功安装
  • 2023云计算发展趋势
  • C# .NET Core API Controller以及辅助专案