docker学习总结(三)

今天来看看容器对应的文件系统

如下图,首先我们可以看到当前总共有21个container(22是包含了CONTAINER title的),那这22个container在宿主机上都保存在哪里呢?从右图可以看到所有的container都保存在宿主机/mnt/sda1/var/lib/docker/containers目录下面

这里补充一点,左图看到的containerID是12位的,而右图的containerID非常长,实际上右图是容器的全称ID,而我们通常使用其前12位代表容器ID。这通过docker inspect -f '{{.ID}}' containerID命令也可以进行检验。

接下来,我们看看如果要上传文件到container或者从container中取文件如何操作。

执行docker exec -it containerID /bin/bash进入container,在/opt/webapp目录下创建一个文件2020217.txt,然后我们去宿主机上看看该文件在哪里。

搜索文件名可以看到该文件有两个,分别位于以下目录

/mnt/sda1/var/lib/docker/overlay2/f01c636d904fda1625b5c972ae5e9d422ef7622f31d6a162fac652347e1aceed/merged/opt/webapp

/mnt/sda1/var/lib/docker/overlay2/f01c636d904fda1625b5c972ae5e9d422ef7622f31d6a162fac652347e1aceed/diff/opt/webapp

那这两个目录对应什么呢?查询知容器对应有4个目录,LowerDir、MergedDir、UpperDir、WorkDir,其中LowerDir为只读的镜像层,因image layer可以分为多层,故LowerDir可以有多个目录;MergedDir为容器的挂载层,即显示出来的文件系统层;UpperDir为数据读写层,所有对容器数据的修改都发生在这一层,WorkDir为OverlayFS的工作目录。

知道以上这些,如果我们要进行上传下载文件,就很方便了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SeasonRun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值