我一直在寻找一段时间,但找不到分析Docker容器/卷的磁盘使用情况的方法。 我可以看到Docker需要12GB的文件系统: 2.7G /var/lib/docker/vfs/dir 2.7G /var/lib/docker/vfs 2.8G /var/lib/docker/devicemapper/mnt 6.3G /var/lib/docker/devicemapper/devicemapper 9.1G /var/lib/docker/devicemapper 12G /var/lib/docker 但是,我怎么知道这是如何分布在容器? 我尝试通过运行附加到容器(新的v1.3命令) docker exec -it <container_name> bash 然后运行“df -h”来分析磁盘使用情况。 它似乎在工作,但没有使用“来自卷”的容器。 例如,我为MongoDB使用了一个只有数据的容器,名为“mongo-data”。 当我运行“docker run -it -volumes-from mongo-data busybox”,然后在容器内运行“df -h”时,它表示挂载在'/ data / db'上的文件系统(我的'mongo-data'数据容器)使用11.3G,但是当我做“du -h / data / db”时,它说它只用了2.1G。 那么,如何分析容器/卷磁盘的使用情况? 或者,就我而言,我怎样才能find“mongo-data”容器大小? 非常感谢,
我不确定我在问正确的问题,但是当我一直在阅读Docker的所有东西时,我可以看到我可以在Ubuntu 12.04上安装Docker(例如),然后我可以安装一个Fedora容器或不同版本的ubuntu? (有一个例子,用户在容器中安装了busybox。) 当然,我可能完全错了。 但是,我希望基地系统和集装箱之间有一个短暂的联系。 重申:主机操作系统和容器基础映像的操作系统有什么关系?
我正在构build一个Ruby应用程序的容器。 我的应用程序的configuration包含在环境variables中(使用dotenv在应用程序中加载 )。 其中一个configurationvariables是应用程序的公共IP,在内部用于build立链接。 我需要添加一个dnsmasq条目,将这个ip指向容器内部的127.0.0.1,所以它可以获取应用程序的链接,就好像它没有被容器化。 因此,我试图在我的Dockerfile中设置一个将环境variables传递给容器的ENV 。 我尝试了一些东西。 ENV REQUEST_DOMAIN $REQUEST_DOMAIN ENV REQUEST_DOMAIN `REQUEST_DOMAIN` 尽pipe如此,一切都会传递“REQUEST_DOMAIN”string而不是环境variables的值。 有没有办法将环境variables值从主机传递给容器?
我通过以下方式在Debian 7机器上安装了docker echo deb http://get.docker.io/ubuntu docker main> /etc/apt/sources.list.d/docker.list sudo apt-get update curl -sSL https://get.docker.com/ubuntu/ | sudo sh 之后,当我第一次尝试创build一个图像失败,出现以下错误 time="2015-06-02T14:26:37-04:00" level=info msg="[8] System error: write /sys/fs/cgroup/docker/01f5670fbee1f6687f58f3a943b1e1bdaec2630197fa4da1b19cc3db7e3d3883/cgroup.procs: no space left on device" 这是docker信息 Containers: 2 Images: 21 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 25 Dirperm1 Supported: true Execution Driver: native-0.2 Kernel Version: 3.16.0-0.bpo.4-amd64 […]
我在Docker上安装了Ubuntu 14.04镜像。 之后,当我尝试在Ubuntu映像中安装软件包时,我无法find软件包错误: apt-get install curl Reading package lists… Done Building dependency tree Reading state information… Done E: Unable to locate package curl 如何解决这个错误?
如何使用Docker文件中的“ADD”命令来包含Docker构build上下文之外的文件? 从Docker文档: path必须在构build的上下文中; 你不能添加../something/something,因为docker build的第一步是把上下文目录(和子目录)发送到docker守护进程。 在这个问题上,我不想重组我的整个项目只是为了适应Docker。 我想保留所有的Docker文件在同一个子目录下。 此外,Docker还没有(也可能不曾)支持符号链接: Dockerfile ADD命令不遵循主机#1676上的符号链接。 我唯一能想到的其他事情是包含预构build步骤,将文件复制到Docker构build上下文(并将我的版本控制configuration为忽略这些文件)。 有没有任何已知的清理解决方法? 一定会有更好的办法。 谢谢
我在Docker玩了几天,我已经做了一些图片(这真的很有趣!)。 现在我想坚持我的工作,来到save和export命令,但我不完全理解他们。 在Docker中save和export什么区别?
我打开一个交互式shell到像这样的docker容器 sudo docker exec -t -i {container_name} bash 到目前为止这么好,但试图运行nano结果: 打开terminal时出错:未知。
Docker 允许来自多个容器的服务器通过链接和服务发现相互连接 。 但是,从我所看到的这个服务发现是主机本地。 我想实现使用其他服务器上托pipe的服务的服务。 在Docker中有几种解决这个问题的方法,比如CoreOS的jumpers ,主机代理到另一台机器的主机本地服务,以及一大堆pipe理Docker部署的github项目,这些项目似乎试图支持这种使用方式,案件。 鉴于发展的速度,很难遵循当前的最佳做法。 因此,我的问题基本上是:1)目前在Docker中跨主机连接的主要方法是什么(如果有的话),2)有没有计划直接在Docker系统中支持这个function?
添加这个为其他人参考,因为如果这样的答案存在,它可以节省我10分钟。 我尝试使用Ubuntu 14.0LTS virtualbox安装Docker sudo apt get install docker 但是,当我尝试运行docker时,它给我以下错误 The program 'docker' is currently not installed. You can install it by typing: sudo apt-get install docker 为什么Ubuntu没有看到docker?