没有卷运行的docker,容器系统文件存储在哪里?

标签 docker volume

如果我运行一个没有指定卷的容器,容器系统文件存储在哪里?

  • docker run -it c_name i_name:tag

当我运行没有卷的容器时,仅在 /var/lib/docker/container 中创建容器文件夹,但是如果我在容器文件系统中创建一个大文件,它存储在哪里主持人?因为我想知道是否会导致占用磁盘大小的问题。

最佳答案

容器的存储是由不同的层组成的,不同的层最终会形成一个合并的层。

接下来我们来做一个小实验:

<强>1。启动容器并设置新文件:

# docker run -idt --name trial debian /bin/bash
# docker exec -it trial /bin/bash
root@e6c2b6336753:/# echo "helloworld" > test.txt
root@e6c2b6336753:/# cat test.txt
helloworld

<强>2。查找合并后的存储层id:

# docker inspect --format=" {{ .GraphDriver.Data.MergedDir }} " trial
/var/lib/docker/overlay2/8f2e14d33448cb83e581b2950a69faa827a012904051c845abf550273196f90f/merged

这里,8f2e14d33448cb83e581b2950a69faa827a012904051c845abf550273196f90f是图层ID。

<强>3。检查图层:

# cd /var/lib/docker/overlay2/8f2e14d33448cb83e581b2950a69faa827a012904051c845abf550273196f90f/merged
root@shlava:/var/lib/docker/overlay2/8f2e14d33448cb83e581b2950a69faa827a012904051c845abf550273196f90f/merged# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  test.txt  tmp  usr  var
root@shlava:/var/lib/docker/overlay2/8f2e14d33448cb83e581b2950a69faa827a012904051c845abf550273196f90f/merged# cat test.txt
helloworld

所以,作为结论,从上面你可以看到,文件系统内容可以在 /var/lib/docker/overlay2/ 中找到,其中层 id 为文件夹,你可以检查磁盘那里。

关于没有卷运行的docker,容器系统文件存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66432727/

相关文章:

amazon-web-services - AWS Elastic Beanstalk上的Docker中的Docker

python-3.x - "Failed to build regex"当 docker 's image of "python :3. 5-alpine"构建时

sql-server - Docker SQL Server异常

vb.net - 如何在 Windows 10 的音量控制上显示您的媒体播放器程序

windows - Windows如何计算卷的唯一ID?

docker - Apache Airflow : How to run a Docker Operator with environment variables from another task?

docker - 如何使用docker-compose动态分配端口?

c# - 来自字节数组的体积

javascript - 如何使用 ActionScript 或 Javascript 使页面上的其他 Flash 对象静音?

linux - 如何在 Linux (Ubuntu) 中输出 1kHz 频率和功率/音量 = 60%?