目录

1、什么是数据卷

2、数据卷操作命令

2.1、创建和查找数据卷

2.2、小结

3、容器挂载到数据卷

3.1、挂载数据卷命令

3.2、案例-给nginx挂载数据卷

4、容器挂载到宿主机目录

1、去dockerhub搜索mysql并拉取镜像​编辑

2、创建/mysql/data和/mysql/conf两个目录作为mysql容器的挂载点

3、在DockerHub查看mysql镜像的详细资料,通过Mysq镜像创建并运行mysql器

4、测试远程连接mysql容器


1、什么是数据卷

数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。

一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。这样,我们操作宿主机的/var/lib/docker/volumes/html目录,就等于操作容器内的/usr/share/nginx/html目录了。

2、数据卷操作命令

数据卷操作的基本语法:docker volume [COMMAND]

docker volume命令是数据卷操作,根据命令后跟随的command来确定下一步的操作:

  • create 创建一个volume

  • inspect 显示一个或多个volume的信息

  • ls 列出所有的volume

  • prune 删除未使用的volume

  • rm 删除一个或多个指定的volume

2.1、创建和查找数据卷

        1、创建数据卷

docker volume create html

        2、查看所有数据卷

        docker volume ls

        3、 查看数据卷详细信息卷

docker volume inspect html

我们创建的html这个数据卷关联的宿主机目录为`/var/lib/docker/volumes/html/_data`目录。

2.2、小结

数据卷的作用:

  • 将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全

数据卷操作:

  • docker volume create:创建数据卷

  • docker volume ls:查看所有数据卷

  • docker volume inspect:查看数据卷详细信息,包括关联的宿主机目录位置

  • docker volume rm:删除指定数据卷

  • docker volume prune:删除所有未使用的数据卷

3、容器挂载到数据卷

3.1、挂载数据卷命令

我们在创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器内目录,命令格式如下:

这里的-v就是挂载数据卷的命令:

  • -v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中

3.2、案例-给nginx挂载数据卷

        1、将刚刚创建的html数据卷挂载到mynginx容器的 /usr/share/nginx/html/目录下

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

    2、 进入html数据卷所在位置,并修改HTML内容

修改完成后访问:

4、容器挂载到宿主机目录

容器不仅仅可以挂载数据卷,也可以直接挂载到宿主机目录上。关联关系如下:

  • 带数据卷模式:宿主机目录 --> 数据卷 ---> 容器内目录

  • 直接挂载模式:宿主机目录 ---> 容器内目录

大多数情况下不需要主动的创建数据卷

提示:目录挂载与数据卷挂载的语法是类似的:

• -v [ 宿主机目录 ]:[ 容器内目录 ]
• -v [ 宿主机文件 ]:[ 容器内文件 ]

案例:给MySQL挂载宿主机目录

        1、去dockerhub搜索mysql并拉取镜像

        2、创建/mysql/data和/mysql/conf两个目录作为mysql容器的挂载点

在conf目录下创建1个hmy.cnf的文件,内容如下:

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000

        3、在DockerHub查看mysql镜像的详细资料,通过Mysq镜像创建并运行mysql容器

        要求:挂载/mysql/data到mysql容器中吧类数据存储目录

挂载/mysql/conf/hmy.cnf到mysql容器的配置文件

设置mysql密码

docker run \
--name myMysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 8406:3306 \
-v /mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /mysql/data:/var/lib/mysql \
 -d \
mysql:5.7.25

4、测试远程连接mysql容器

                                

               

Docker--容器挂载相关推荐

  1. Docker容器挂载

    docker的理念:将应用和环境打包成一个镜像!通过镜像启动容器运行 问题:在容器中存储的程序数据是需要持久化的,不能容器删了数据也随之删除.比如,安装一个MySQL容器,在其中存储了大量数据,结果把 ...

  2. Docker 容器挂载摄像头并显示图像

    Docker本身的工作模式是命令行的,但有时候我们需要在Docker容器里运行一些图形化东西如:调用摄像头,输出图像等等,这个时候我们就不得不研究一下如何在Docker中进行 "可视化&qu ...

  3. Python FastApi:快速建立docker容器/挂载共享文件夹/导入导出

    一.目的 a.快速把原有fastapi代码部署到docker,让docker在server运行. b.不涉及docker深入设置. c.使用python第三方lib少或简单. 二.步骤 ps:请提前安 ...

  4. docker容器挂载权限问题 导致日志文件不生成

    1.出现问题 新项目采用springboot2.3之后的自带打包方式打包成功后,启动发现目录文件里面没有日志生成 logs 文件路径下没有日志生成. docker-compose.yaml 目录挂载如 ...

  5. 在docker容器中创建用户组和用户,并且多用户共用一个anaconda环境

    转载自:https://www.cnblogs.com/devilmaycry812839668/p/13760815.html 在docker容器中创建用户组和用户,并且多用户共用一个anacond ...

  6. 如何在Docker容器中挂载主机目录

    本文翻译自:How to mount a host directory in a Docker container I am trying to mount a host directory into ...

  7. docker容器修改开机启动服务器,docker-修改容器挂载目录的3种方法小结

    方式一:修改配置文件(需停止docker服务) 1.停止docker服务 systemctl stop docker.service(关键,修改之前必须停止docker服务) 2.vim /var/l ...

  8. elasticsearch docker无法挂载_Docker 容器监控方案怎么选?看看这套开源方案

    来自:简书,作者:__七把刀__ 链接:https://www.jianshu.com/p/abfa502e43a6 随着线上服务的全面docker化,对docker容器的监控就很重要了.SA的监控系 ...

  9. Docker 容器文件拷贝及目录挂载

    Docker 容器文件拷贝及目录挂载 10.Docker:容器文件拷贝 目标: 掌握文件拷贝命令 将linux宿主机中的文件拷贝到容器内可以使用命令: # docker cp 需要拷贝的文件或目录 容 ...

  10. docker文件过大,Docker容器引擎,迁移/var/lib/docker/到本机其它挂载分区或远程主机的某个分区。docker迁移

    docker文件过大,Docker容器引擎,迁移/var/lib/docker/到本机其它挂载分区或远程主机的某个分区.docker迁移. 0. 迁移前检查镜像和容器 docker images 和d ...

最新文章

  1. 对比Android和iPhone的优缺点
  2. TCP之超时重传机制
  3. MySQL事务的提交
  4. Spring Cloud比较好的博文地址
  5. 防止Entity Framework重复插入关联对象
  6. 期待微软平台即服务技术Service Fabric 开源
  7. Ubuntu 开发者工具中心 Ubuntu Make
  8. Java依赖多个版本,java – Gradle中的多个依赖项版本
  9. 一文看懂语音识别 - ASR(基本原理 + 4个实现流程)
  10. hp alm功能介绍_Win10继任者Win10X终于完成!微软介绍六大新功能!
  11. 修改android的avd路径方法
  12. 2022英伟达显卡排名天梯图
  13. ios 开发证书导出p12文件_IOS开发 把cer证书转为p12证书
  14. php留言板制作模板,简单5步,制作wordpress留言板
  15. matlab幂函数回归分析,求助matlab种幂函数回归 这样的:
  16. cer证书生成以及签名验签详细篇(keytool 命令)
  17. ‘click‘ handler took 3858s如何解决
  18. 前端实现炫酷动效_创建炫酷 CSS 背景效果的 10 个代码片段
  19. 抖音全球购安心购服务规范|四川鹰迪
  20. 开发三年,靠这份Java面试宝典,拿到字节offer

热门文章

  1. Python制作基础学生信息管理系统
  2. NIO学习笔记——缓冲区(Buffer)详解
  3. vue3 编译报 ESLint: ‘defineProps‘ is not defined no-undef 错误问题
  4. 传统目标跟踪——卡尔曼滤波Kalman(结合MeanShift+Kalman)
  5. 浅谈卡尔曼滤波(Kalman Filter)(一)
  6. Blocked a frame with origin “https://my.xxxxxxx.com“ from accessing a cross-origin frame.
  7. 需求调研过程管理小议
  8. 用endnote x9在Word 2016中插入参考文献到特定位置
  9. ardunio 字符串分割
  10. FL Studio教程之Gross Beat插件讲解