Tag: 文件系统

Docker在哪里存储正在运行的容器的内容?

有没有办法浏览正在运行的容器内创build的文件? 说我开始使用一个容器 sudo docker run –name myContainer -d ubuntu 其中有ID eefea5f7df52e8c1aad24b4068564237021dc7b953026f0adb696878a3d25f72 我以为有一个文件夹(容器ID的名称)在/var/lib/docker/包含创build的文件,… 我在/var/lib/docker/aufs/difffind了一些文件夹(所以在删除容器时也删除了这些文件夹),但我不知道如何映射它们的容器ID。

docker工人,docker集装箱的aufs根在哪里

如何获取docker容器底层的aufs系统的根文件夹信息? 说我运行docker run mytag echo 'Done' ,在那之后,我相信docker将有一个废弃的容器build立在aufs系统之上。 而我想利用这个aufs文件系统(比如用chroot)而不用做一个docker save或者docker export 。 我怎么能得到这个? 我需要访问该堆栈的aufs文件系统,以便从整个docker系统中创build一个squashfs文件系统,而不是从docker docker export的tar文件,因为我总是对映像文件执行mksquashfs,并且从来没有从mksquashfs系统在那个系统内。 这是Ubuntu下的lxc-docker 1.2.0版本。 更新: 经过查尔斯的build议,我发现在这个系统内制作一个压扁系统是不可行的: root@1676061f0072:/# mount –bind / /mnt/root || { echo error bind mount; exit; } # bind-mount container root only mount: block device / is write-protected, mounting read-only mount: cannot mount block device / read-only error bind mount […]

为什么loop-lvm设备存储不适合生产?

我到处看到这个断言,但还没有看到一个好的解释。 在生产环境中使用loop-lvm模式作为Docker存储模式会有什么后果?

Docker守护进程无法在Debian 7上使用AUFS运行

我在GCE中运行Debian Wheezy服务器。 我们有使用AUFS存储驱动程序的Docker容器。 最近发生了一些变化,今天我无法连接到docker守护进程。 运行docker daemon –storage-driver=aufs输出示例docker daemon –storage-driver=aufs FATA[0001] Error starting daemon: error initializing graphdriver: driver not supported 对于这个问题的所有其他答案是: rm -rf /var/lib/docker/aufs ,即完全启动或b)– –storage-driver=overlay2 ,使用不同的存储驱动程序运行。 不过,我不想丢失我的容器,我还没有find一种方法来导出他们没有守护进程与aufs存储驱动程序运行。 我一直在网上查找解决scheme。 官方文档( https://docs.docker.com/engine/userguide/storagedriver/aufs-driver/#configure-docker-with-the-aufs-storage-driver )表示支持我的Debian版本(7.12),而我的内核版本受支持(3.16.0-0.bpo.4-amd64)。 如果我使用storage-driver = devicemapper运行守护程序docker会按预期方式连接,但是当然,我的容器都不在那里,因为它们在AUFS系统中。 当我运行/proc/filesystems | grep aufs /proc/filesystems | grep aufs结果是空白的,然而aufs作为模块出现在/lib/modules/3.16.0-0.bpo.4-amd64/kernel/fs/aufs/aufs.ko 。 从docker网站下载并运行脚本: https : //raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh 输出包括: CONFIG_AUFS_FS: enabled (as module) 我遇到的其他意见使用modprobe ,当我做sudo modprobe […]

为什么Docker需要联盟文件系统

Docker如何使用Union File系统(如AUFS)来创build容器? 如果Docker不得不使用常规文件系统而不是联合文件系统,那么会有什么缺点呢? 我正在寻找具体的技术细节/内部,而不是一个高层次的答案。

Docker的aufs diff文件夹在大小方面越来越大

我遇到了docker的空间使用问题。 我有 / var / lib / docker / aufs / diff / e20ed0ec78d30267e8cf855c6311b02089b6086ea149c21997a3e6cb9757ecd4 / tmp / registry-dev / docker / registry / v2 / blobs#du -sh 4.6G。 我可以find这个文件夹属于哪个容器吗? 我有dockerregistry运行,但在里面我有 / var / lib / registry / docker / registry / v2 / blobs#du -sh 465M。 我怀疑docker升级(我使用迁移工具https://docs.docker.com/engine/migration/这里)可能已经离开它,或者,我以前自己build立dockerregistry,并移动到预编译registry左这个。 我可以以某种方式检查哪个容器belogs? 或者,它是否属于任何?

Docker:在内存文件系统中

我有一个docker的容器,它做了很多的读/写磁盘。 我想testing当我的整个docker文件系统在内存时会发生什么。 我在这里看到一些答案,说这不会是一个真正的性能改进,但这是为了testing。 我想testing的理想解决scheme是共享每个图像的公共部分,并在需要时复制到内存空间。 在运行时创build的每个容器文件也应该在内存中并且分开。 空闲时间不应超过5GB fs,处理时间不得超过7GB。 简单的解决scheme将复制每个容器的所有共享文件(甚至是您从不使用的那部分操作系统)。

在不使用存储库的情况下部署Docker镜像

我在构build服务器上构buildDocker镜像(使用TeamCity)。 构build完成后,我想要将该映像部署到某个服务器(分段,生产)。 所有的教程我都find了 将图像推送到某个存储库,在那里它可以被小型项目中的服务器下载(拉取),从而增加了复杂性 使用类似Heroku的方法,并在“near”或将要运行的机器上构build图像 我真的认为没有什么特别的应该在(应用程序)服务器上完成。 IMO的图像应该作为封闭的,自给自足的二进制代码来代表整个应用程序,并且可以在构build服务器,testing,问答等之间传递。 但是,当我save一个基于官方node库的标准NodeJS应用程序时,它具有1.2 GB 。 将这样的文件从服务器传递到服务器并不是很舒服。 问:是否有一些方法可以通过SSH导出/保存和上传图像的变化部分(图层),而不会引入Docker存储库的复杂性? 然后,服务器将从公共hub.docker.com中提取缺失的图层 ,以避免从我的networking上传到云端。 投资save的内容从技术angular度来看不应该是困难的。 push命令基本上就是这样 – 它永远不会上传已经存在于回购中的图层。 Q2:你认为在我部署的docker-host上运行一个小的repo是为了达到这个目的吗?

在Vagrant虚拟机内部运行的Docker容器中,Grails监视文件不起作用

我有一个相当嵌套的结构: MacOSX工作站正在运行… ubuntu/trusty64 VirtualBox虚拟机与ubuntu/trusty64运行… Docker容器正在运行… 我用Grails编写的应用程序 每个图层的configuration方式都是从上面的图层共享文件系统的一部分。 这条路: Vagrant,在Vagrantfile有config.vm.synced_folder指令 Docker,在Dockerfile使用-v命令,如switch和VOLUME指令 这样,我可以在我的工作站上进行开发,底部的Grails应用程序应该(理想情况下)检测更改并重新编译/重新加载。 当我在MacOSX上直接运行相同的应用程序时,这是一个function,但现在grails似乎完全不知道文件更改。 当然,如果我用一个编辑器(在Docker容器中)打开这些文件,它们确实发生了变化,事实上,如果我停止/重新启动grails应用程序,则会使用新的代码。 我不知道Grails如何实现观察策略,但是如果它依赖于某些操作系统级别的function,我怀疑文件更改通知会丢失在链中某处。 任何人都有一个想法,可能是什么原因和/或我怎么可以去debugging呢?