容器的目录挂载|学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习容器的目录挂载

开发者学堂课程【深入解析 Docker 容器化技术容器的目录挂载】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/659/detail/10945


容器的目录挂载

 

内容介绍

一、容器的目录挂载说明

二、演示

 

一、容器的目录挂载说明

在这个章节中将学习目录挂载,通过观察下面这个场景来进行讲解,如图 centos 宿主机中创建一个 tomcat 容器,后期要进行布置一个 web 项目的话,肯定要将项目放在 tomcat 容器中的 webapps 目录下,那么在项目中肯定有很多配置文件,比如 xx.yml文件,那么将项目部署到容器后,如果需要修改配置文件的话就会很麻烦,需要先登录到该容器,再修改配置文件,最后退出容器,所以在这个过程中可以使用目录映射简化流程,就是在现在的宿主机当中如果将目录/opt与 project 的目录做一个映射,那么就可以不用再进行登录后才能修改配置文件,只需要修改宿主机的文件即可,那么这个过程就称为目录挂载,要求创建容器的过程中 docker run 要加上选项-v。

image.png

格式为创建容器,添加-v 参数,后边为本地宿主机目录与容器目录做映射关系,下面开始演示。

 

二、演示

首先查看本地 opt,可以看到没有任何文件,如:

[root@localhost ~]# cd /opt/

[root@localhost opt]# ll

total 0

drwx—x--x. 4 root root 28 Sep 18 10:30 containerd

drwxr-xr-x. 2 root root   6 mar 26 2015 rh

然后通过 docker run 去创建容器 c2,而要完成目录的挂载则要加上-v 选项,跟上 opt,:后跟上要将文件映射到的位置,如:

[root@localhost opt]# docker run -itd --name c2 -v /opt:/usr/ local/myhtml centos /bin/bash

命令代表创建容器然后进行目录挂载,将 opt 输入到 opt 目录然后与/usr/ local/myhtml目录做一个映射关系,回车启动如下:

53f5c8cf32010fd62015d9f 56b4277af5903db592711929e46638513b9e35196

此时进入 c2容器查看可以发现,c2下有两个文件夹与宿主机目录下面文件夹相同,如:

[root@localhost ~]# docker exec -it_ /c2 /bin/bash

[root@53f5c8cf3201 /]# cd /usr/ local/ myhtml/

[root@53f5c8cf3201 myhtml]# ll

total 0

drwx--x--x. 4 root root 28 Sep 18 10:30 containerd

drwxr-xr-x. 2 root root  6 Mar 26 2015 rh

因为容器与宿主机进行映射了,所以宿主机下有什么文件,容器相应的目录下也有相同的文件。下面可以进行验证,首先新建一个文件,写入内容 ddddd,如:

[root@localhost opt]# vim 1.txt

然后再回到容器中查看目录下的文件,如:

[root@53f5c8cf3201 myhtml]# ll

total 0

drwx--x--x. 1 root root 6 Sep 19 05:44 1.txt

drwx--x--x. 4 root root 28 Sep 18 10:30 containerd

drwxr-xr-x. 2 root root 6 Mar 26 2015 rh

[root@53f5c8cf3201 myhtml ]# cat 1. txt

ddddd

容器中也有文件1.txt,内容为 ddddd 说明,映射成功。再次编辑宿主机中的文件1.txt,拷贝一行 ddddd,则再次回到容器查看1.txt 文件内容,如:

[root@53f5c8cf3201 myhtml ]# cat 1. txt

ddddd

ddddd

所以在这个过程中如果后期再想修改配置文件就变得简单多了。那么这个过程就叫做目录挂载。

相关文章
|
1月前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
84 5
|
29天前
|
存储 缓存 Docker
docker中挂载数据卷到容器
【10月更文挑战第16天】
33 2
|
1月前
|
存储 关系型数据库 MySQL
|
1月前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第13天】
28 2
|
1月前
|
存储 测试技术 开发者
docker中将数据卷挂载到容器
【10月更文挑战第11天】
41 3
|
3月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
279 3
|
3月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
131 2
|
4月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用问题之如何将PolarDB容器内的目录挂载到宿主机的指定目录
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
5月前
|
运维 Serverless 文件存储
函数计算产品使用问题之在利用Docker镜像部署应用时,容器内的应用如何能访问函数计算配置的NAS挂载
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
Prometheus 监控 Cloud Native
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
下一篇
无影云桌面