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

Docker数据卷挂载和本地目录挂载

目录

  • 数据卷
  • 本地目录挂载
  • 案例1-利用Nginx容器部署静态资源
  • 案例2-mysql容器的数据挂载

数据卷

数据卷(volume)是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁

查看数据卷相关命令

在这里插入图片描述

命令说明
docker volume create创建数据卷
docker volume ls查看所有数据卷
docker volume rm删除指定数据卷
docker volume inspect查看某个数据卷的详情
docker volume prune清除数据卷(删除未使用数据卷)

在执行docker run命令时,使用-v 数据卷:容器内目录 可以完成数据卷挂载
如果容器已经创建,无法进行挂载操作,需要删除,重新创建并挂载
当创建容器时,如果挂在了数据卷且数据卷不存在,会自动创建数据卷

创建数据卷后,会在宿主机目录/var/lib/docker/volumes下创建对应目录

本地目录挂载

在执行docker run 命令时,使用-v 本地目录:容器内目录 可以完成本地目录挂载

本地目录必须以/或者./开头,如果直接以名称开头,会被识别为数据卷而非本地目录

  • -v mysql:/var/lib/mysql会被识别为一个数据卷叫mysql
  • -v ./mysql:/var/lib/mysql会被识别为当前目录下的mysql目录

案例1-利用Nginx容器部署静态资源

需求:

  • 创建Nginx容器,修改nginx容器内的html目录下的index.html文件,查看变化
  • 将静态资源部署到nginx的html目录

在这里插入图片描述

在这里插入图片描述

容器内的html目录:

/usr/share/nginx/html

使用vi命令无法进行修改

在这里插入图片描述

使用数据卷解决:

删除nginx容器

在这里插入图片描述

创建容器并挂载

docker run -d --name mynginx -p 80:80 -v html:/usr/share/nginx/html nginx

在这里插入图片描述

查看数据卷,并查看详情

在这里插入图片描述

进入宿主机目录,可以看到完成了映射

在这里插入图片描述

使用编辑器直接修改这里的index.html文件,容器里面的也会修改

在这里插入图片描述

再往该目录下上传图片

网页端访问;

在这里插入图片描述
访问图片

在这里插入图片描述

案例2-mysql容器的数据挂载

需求:

  • 查看mysql容器,判断是否有数据卷挂载
  • 基于宿主机目录实现MYSQL数据目录,配置文件,初始化脚本的挂载

docker inspect 容器名:可以查看容器的详情

如下查看nginx

在这里插入图片描述

里面有挂载信息

在这里插入图片描述

创建并启动mysql容器

在这里插入图片描述
查看mysql容器详情

在这里插入图片描述

可以看到在创建容器的时候自动挂载了,这个卷称为匿名卷

挂载的容器里面的目录/var/lib/mysql是mysql的数据存储目录

挂载/root/mysql/data到容器内的/var/lib/mysql目录
挂载/root/mysql/init到容器内的/docker-entrypoint-initdb.d目录
挂载/root/mysql/conf到容器内的/etc/mysql/conf.d目录

docker run -d --name mysql -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/init:/docker-entrypoint-initdb.d -v /root/mysql/conf:/etc/mysql/conf.d mysql

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/334358.html

相关文章:

  • 八、SpringBoot项目热部署
  • Java服务自动停止原因及查找方法
  • Cloudflare Tunnels 部署与隧道异常关闭的解决方案
  • 攻击者如何毒害人工智能工具和防御系统
  • 【更新公告】C++算法·线段树
  • CF每日3题(1500-1700)
  • 《WINDOWS 环境下32位汇编语言程序设计》第2章 准备编程环境
  • IO流-序列化流
  • 记录 GMS 认证相关条件
  • 玄机靶场 | 日志分析-Tomcat日志分析
  • AI生成视频开源模型技术解析
  • Rocky Linux 9.2:从 /home 分区释放 10G 空间扩容到 / 根分区
  • AI可行性分析:数据×算法×反馈=成功
  • 【P40 6-3】OpenCV Python——图像融合(两张相同属性的图片按比例叠加),addWeighted()
  • 软考 系统架构设计师系列知识点之杂项集萃(124)
  • 池式结构之连接池
  • pwn定时器,ARM定时delay 外部中断用函数指针(统一)day55,56
  • 数据结构:满二叉树 (Full Binary Tree) 和 完全二叉树 (Complete Binary Tree)
  • 安卓定制开机动画的bootanimation.zip的注意点
  • (论文阅读)FedViT:边缘视觉转换器的联邦持续学习
  • 美国服务器环境下Windows容器工作负载基于指标的自动扩缩
  • Java驾驭金融风暴:大数据+机器学习重塑资产配置与风险平衡
  • CPP多线程3:async和future、promise
  • 【八股】计网-计算机网络-秋招
  • 让数据库交互更优雅:MyBatis核心机制深度解析(附实战视频教程)
  • 【DL学习笔记】常用数据集总结
  • 详解flink java基础(二)
  • 使用nvm查看/安装node版本
  • Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
  • 【科研绘图系列】R语言绘制雷达图