技术标签: overlay2 linux # 01-docker基础 存储目录属于哪个容器 docker 查看指定容器的存储目录
前言:
本章分析 docker 的 overlay2 目录
docker的整体目录的分析见《docker的目录》一文
[[email protected] l]# ll
total 444
lrwxrwxrwx 1 root root 72 Jan 21 08:48 2GJHC55KDLLSH725ATMROHMQHW -> ../3ef5f9868d2f72e7dcd3ff1047176d2c9f78ef06342552896badb97876427ba8/diff
lrwxrwxrwx 1 root root 72 Jan 21 08:49 2Q4QW2CEWO47MDMGSDORECFGI2 -> ../99153898c52a78f3b7bbd4ed06c32b32facb00e471496ce55324dcae95442dff/diff
lrwxrwxrwx 1 root root 72 Jan 21 08:49 2QWP34GCA3MW5YPGZJDB4U36VO -> ../9668210804fd9774d6be658253bb36afcf80808140da91fc6f07315984aa25e3/diff
lrwxrwxrwx 1 root root 72 Jan 21 08:48 3V4AGOIEAL5XGQIGO66Y5UPHY3 -> ../8cf959aa82bf88454d10c467f3e33a897d19ab6a9ab7d0f3b6d669f1315ca56e/diff
overlay2目录下还有很多已CacheID为目录名的目录,这些目录存储的是镜像和容器各层的实际内容。
[[email protected] overlay2]# ll
total 432
drwx------ 4 root root 4096 Oct 29 2019 012de5e5bdb0562b4b60c50d235c9eb9fe17a9a5592ec3fbd9231dedf38afb2d
drwx------ 4 root root 4096 Jan 21 08:48 03468b1e67108a1a2acade9b1f05e2e6fa5b5d282e9526af8628a48104102940
drwx------ 4 root root 4096 Jan 21 08:49 0387aa8919e5fa943132c89ae93574807c77b15aa0cd7514a1f29c9287a87a5d
drwx------ 5 root root 4096 Feb 2 10:45 08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa
drwx------ 4 root root 4096 Jan 21 09:41 08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa-init
......
其中带 -init
的目录和跟它同名但不带-init
的目录是容器上层的目录。如上例中:
drwx------ 5 root root 4096 Feb 2 10:45 08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa
drwx------ 4 root root 4096 Jan 21 09:41 08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa-init
带init的目录
这个目录对容器是只读的
没有init的容器目录
容器的读写目录,容器中写入时候会把文件拷贝进来(读操作直接在每层操作,不需拷贝)
演示:
比如我进入容器,在home下写一个hello.txt的文件,于是宿主机该目录下的diff目录中多了一个 home目录,下边多了一个hello.txt文件。
生命周期:
- 当容器创建时生成这些目录
- 当容器删除时,目录删除
CacheID-init
目录的)08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa
08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa-init
[[email protected] overlay2]# docker ps -q | xargs docker inspect --format '{
{.State.Pid}}, {
{.Id}}, {
{.Name}}, {
{.GraphDriver.Data.WorkDir}}' | grep "08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa"
3262, 6bf1cc99809501fe6c5133bbadd1a973b938425fd87a5ff98e3f4ab7d570589a, /das-db, /var/lib/docker/overlay2/08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa/work
说明:
如上可见,该存储对应 的容器名为 das-db
其实就是2.2反向查,测试如下
[[email protected] overlay2]# docker ps -q | xargs docker inspect --format '{
{.State.Pid}}, {
{.Id}}, {
{.Name}}, {
{.GraphDriver.Data.WorkDir}}' | grep gateway
134626, bf6c6433bd2ed870daad08fd667ece93db2f8c5e05da786d0ca9838a2bcf72d4, /k8s_filebeat_gateway-854ff898c5-t7j49_crust-framework_d6e24bdc-8632-4691-b2ef-c112efdb6784_0, /data/docker/overlay2/72df0bfe3f322eeff69f43394e9bde50a786103f278c00a1dd8bde457889e077/work
134565, d278f3488213a2396dda0a781dc5ea5d512ea11675ee30a0521817ad8a5a4b1e, /k8s_gateway_gateway-854ff898c5-t7j49_crust-framework_d6e24bdc-8632-4691-b2ef-c112efdb6784_0, /data/docker/overlay2/9e31372295296a2d83bd725214063f60114499582be4027e13c78b241e1cf16c/work
134439, a16364fc28a7c67e35d1d2c0c73fdc18b5705dfe1b21d3c79a0a99618594a88a, /k8s_POD_gateway-854ff898c5-t7j49_crust-framework_d6e24bdc-8632-4691-b2ef-c112efdb6784_0, /data/docker/overlay2/0e362acb07459c9fd97f5b1bbe2431a33daf19e091da78c8abed459985fdff69/work
28798, 1ce006e2a0ac90d7dc838d52d9b5865bc76e75a40f79bd4839ef818e46730197, /k8s_gateway_etcd-75d4485689-j4g2z_streaming_373adf06-d4b8-4aa7-a161-ba8424a0eefe_0, /data/docker/overlay2/80385eb061acce97c369fe1577775e8230ce7108cf0ac01dce0346e1622fad94/work
说明:如上可见,查看 gataway 这个pod的目录,得到四条信息:
- 第一条是该pod里 filebeat的容器信息
- 第二条是该pod里gateway的容器,我们要找的是这个
- 第三条是该pod里pause的容器
- 第四条是k8s系统的,和该pod无关。
综上:我们要找的目录是/data/docker/overlay2/9e31372295296a2d83bd725214063f60114499582be4027e13c78b241e1cf16c
[[email protected] ffd866bd6ece4908f3edd84da09df8f470680276c4acc6752066de8d359e972c]# ll
total 16
-rw------- 1 root root 0 Jan 21 08:49 committed
drwxr-xr-x 3 root root 4096 Jan 21 08:49 diff
-rw-r--r-- 1 root root 26 Jan 21 08:49 link
-rw-r--r-- 1 root root 86 Jan 21 08:49 lower
drwx------ 2 root root 4096 Jan 21 08:49 work
[[email protected] 08b19b890cc0348eabca15b585820d91bd59d88e3fdd5c2f589fe5e69ecb5cfa]# ll diff/
total 20
drwxr-xr-x 2 root root 4096 Feb 2 14:06 home
drwx------ 2 root root 4096 Feb 2 13:40 root
drwxr-xr-x 3 root root 4096 Jan 28 2019 run
drwxrwxrwt 2 root root 4096 Feb 2 13:40 tmp
[[email protected] ffd866bd6ece4908f3edd84da09df8f470680276c4acc6752066de8d359e972c]# cat link
RMGBSAZLRQKZLACS72PTSJPS62
[[email protected] ffd866bd6ece4908f3edd84da09df8f470680276c4acc6752066de8d359e972c]# cat lower
l/OSSHOMMOPKF74F3MR2JHEA33MG:l/2Q4QW2CEWO47MDMGSDORECFGI2:l/IUFHPX4Z3A74KHLPEYAMGPM5DI
将/var/lib/docker
目录移动到NFS挂载的目录之后,docker启动不起来
查看报错日志如下
[[email protected] data]# journalctl -xe
……
7月 06 11:49:50 crust-m02 dockerd[10652]: time="2021-07-06T11:49:50.475328532+08:00" level=error msg="'overlay2' is not supported over nfs" storage-driver=overlay2
7月 06 11:49:50 crust-m02 dockerd[10652]: time="2021-07-06T11:49:50.475349891+08:00" level=error msg="[graphdriver] prior storage driver overlay2 failed: backing file sys
……
客户现场docker启动不起来了,前台工程师需要提供快速解决的指导意见。
现场启动正常,说明之前错误定位是对的。
一、LF和CRLF是什么CRLF 是 carriage return line feed 的缩写,中文意思是回车换行。LF 是 line feed 的缩写,中文意思也是换行。它们都是文本换行的方式。二、LF和CRLF区别CRLF: “\r\n”, windows系统环境下的换行方式LF: “\n”, Linux系统环境下的换行方式三、在webStrom下切换的位置...
copy别人的代码来modelsim来仿真,遇到这种问题把你copy过来的工程文件下的modelsim.ini换成你电脑modelsim下的modelsim.ini就可以解决。亲测有效 哈哈哈
前文Elasticsearch在较高版本中内置SQL查询的功能,猜想本质上应该是将SQL语句转化为原生的DSL语句,再使用原生进行查询,可以让不熟悉ES的用户能通过SQL语句快速查询结果,降低使用门槛减少学习成本。另外,ES也提供Java客户端以JDBC的方式连接查询,但该方式是收费的。所以,如果用户不想购买服务建议使用官方提供的免费的restful的方式去查询,例如Java REST Client。当不熟悉ES原生的DSL语句的时候,可以先使用SQL编写查询语句,然后再使用ES自带的请求将SQL语句翻
我们在做大型商城项目或者其他项目的时候,上传图片肯定是必不可少的,以前的项目都是把图片上传到本地,针对于图片量比较大的商城,很多企业要求把图片上传到第三方网站,比如七牛云等。这样可以大大加快网站的加载速度。那么,如何在ThinkPHP3.2框架中使用七牛云呢,接下来我们来分析详细操作步骤。一、首先进入七牛云官网 https://www.qiniu.com/ 注册账号,登录后进入 管理控制台--对...
1.在官网下载vscode
概述ShopDao接口ShopDao映射文件单元测试概述ShopDao接口com.artisan.o2o.dao.ShopDao.java 新增查询接口/** * * * @Title: selectShopById * * @Description: 根据shopId查询shop * ...
STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。是C++标准库的一个重要组成部分,它由Stepanov and Lee等人最...
如果映射的是eclipse的快捷键,又同时安装了英特尔的GPU软件,那么会有这个快捷键冲突就是快速复制快捷键:ctrl+alt+方向键 会调用英特尔旋转屏幕,禁用掉即可PhPStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。Ph...
1.使用请求拦截器,拦截vue所有请求,增加token参数 使用倒数计时,假如token有效期60分钟,会在59分钟的时候去重新拿着refresh_Token,去请求新的token. 注意:如果一个账号允许多人登录使用,上述方法没有问题,但是如果一个账号只允许一人登录,一个地点登录,那上述方法就不那么全面,这时候可以采用使用响应拦截器,拦截状态码进行对应的异常处理,然后判...
c语言编程 main() {unsignedchara,b,ca为16进制化为二进制为0011,b为0011|1000=1011=11,c为b左移一位为10110相当于b*2=22请教大家一个计算机2级的题目main(){unsignedcha"|"这个是按位或C没有初始化不能移位操作,安装程序...
http://www.ablanxue.com/shtm手机网站|tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少需要两个最多五个Item选项主要属性:tabBar相对而言用的还是比较多的,但是用起来并没有难,在app.json中配置下tabBar即可,注意tabBar至少
首页新闻论坛群组Blog文档下载读书Tag网摘搜索.NETJava游戏视频人才外包培训数据库书店程序员try { document.domain="csdn.net"; } catch (ex){};window._stopMouseOver=function(e){(wind