Tag: lxc

在Docker中启动完整的容器?

根据这个github的问题 ,应该有可能用Docker 0.6或更高版本启动一个装满Upstart,cron等的容器,但是我该怎么做? 我期待着 docker run -t -i ubuntu /sbin/init 会像工作一样 lxc-start -n ubuntu /sbin/init 我会得到一个login屏幕,但是却没有任何显示。 我也尝试使用SSH访问它,但没有运气。 我使用Docker索引的默认ubuntu镜像。

如何以编程方式监视泊坞窗容器是否退出?

我在VM主机上运行多个命名的docker容器(200+)。 我有一个pipe理员脚本/代码,应该从主机pipe理容器。 我想知道是否有任何基于事件的机制在容器停止/失败时得到通知。 这样我可以重新启动停止的容器。 我能想到的一个解决scheme是定期执行docker检查并查看State.Pid或State.Running确认状态。 但是,不是定期轮询,而是在容器发生故障时通过pid / name通知pipe理器,这样可以更好地重新启动特定的容器。 一般情况下,是否有方法通过编程方式监视不是父进程的进程的进程状态?

使用LXC驱动程序将静态IP设置为泊坞窗容器

我安装了docker到我的Ubuntu 14.04笔记本电脑。 我从中央registry中拖出dockerregistry映像。 要将容器的IP地址修改为静态值,我首先更改了我的/etc/defaults/docker DOCKER_OPTS ,并将-e lxc添加到了DOCKER_OPTSvariables中。 然后运行我的本地registry我使用了下面的命令; docker run \ -i -t -h myreg \ –net="none" \ –lxc-conf="lxc.network.hwaddr=91:21:de:b0:6b:61" \ –lxc-conf="lxc.network.type = veth" \ –lxc-conf="lxc.network.ipv4 = 172.17.0.20/16" \ –lxc-conf="lxc.network.ipv4.gateway = 172.17.42.1" \ –lxc-conf="lxc.network.link = docker0" \ –lxc-conf="lxc.network.name = eth0" \ –lxc-conf="lxc.network.flags = up" \ –name myreg \ -p 5000:5000 \ -d registry \ /bin/bash 然后用docker […]

是否有可能不在云中私下使用Google Containers?

我在研究: docker集装箱 Google容器 我们的目标是在Dev / Prod的企业中,在我们自己的物理机器上使用Linux的这些东西。 不过,我已经读过Google重新实现了LXC(Linux容器)并使用他们自己的lmctfy 。 是否可以在没有云空间的情况下在我的Linux机器上使用Google Containers? 您的经验是高度赞赏。

由于长时间运行的进程日志,Docker守护进程内存泄漏

我有以下设置: 在容器中运行Perl服务,并将注销写出到STDERR logspout将这些日志发送到远程服务器进行归档 在一个600 MB的RAM机器。 我也定期截断日志: /var/lib/docker/containers/CID/CID-json.log 正如这里所build议的,以避免100%的磁盘情况。 问题 Docker守护进程开始时内存使用率低,最初为1%,运行容器2天后缓慢增加到40%。 参考 在这个问题和这个问题上已经讨论了Docker守护进程的内存泄漏。 但是他们两人现在都被closures了,并表示合并在一个提交中。 我运行的是Docker的最新版本 (Docker版本1.4.0,版本4595d4f),但仍然面临单调增加的内存使用问题。 编辑:我做了这个实验:只要在容器中运行一个bash过程,打印出很多行给STDERR,docker守护进程的内存使用量加速非常快 docker是否做了一些日志缓冲 ,即使清除了底层日志文件(/var/lib/docker/containers/CID/CID-json.log),也不释放内存? 显然没有办法清除日志。 这将提交解决长期运行的任务这个问题? 我不知道为什么docker守护进程的内存使用量不断增加。 我如何debugging这个问题?

每次当我启动一个容器与docker,它获得了不同的IP

如何修复一个容器的静态IP? 首先,我启动一个容器并检查它,它说 "NetworkSettings": { "IPAddress": "XX.XX.206.98", "IPPrefixLen": 27, "Gateway": "XX.XX.206.105", "Bridge": "public", "PortMapping": null, "Ports": {} }, 然后我停下来,重新启动,就像 "NetworkSettings": { "IPAddress": "XX.XX.206.99", "IPPrefixLen": 27, "Gateway": "XX.XX.206.105", "Bridge": "public", "PortMapping": null, "Ports": {} }, 正如你所看到的,它改变了。 我刚创build了一个名为public的网桥,并启动了docker,并添加了-b=public 。 我如何设置一个容器的静态IP?

将docker根文件夹移到新的驱动器/分区

我试图将“/ var / lib / docker”文件夹从一个磁盘移动到另一个磁盘,因为这占用了太多的空间。 我不断遇到一些有关权限的错误! 根据这些问题: 如何将Docker容器的映像移动到永久磁盘? 如何在另一个分区上运行docker LXC容器? 我的磁盘安装在“/ data”,我将“/ var / lib / docker”文件夹复制到“/ data / docker” 这是我试过的: 用“/ data / docker”试验了DOCKER_OPTS中的-g标志 尝试从新的磁盘驱动器创build一个符号链接 我尝试从/ data / docker进行绑定 但是,在所有情况下,当我尝试在容器中启动服务时,出现错误信息,写入“/ dev / null”(以root用户身份)时,出现错误。 我只是做了一个文件夹的副本到新的磁盘。 这也复制了所有权限(这是一个ext4系统,具有与docker存在的原始磁盘相同的文件系统级权限)。 眼镜: 我使用的文件系统是aufs。 Docker版本是0.7.6 Ubuntu 12.04 如何正确移动数据? 我需要先升级吗?

Docker何时启动?

我需要一个工具来封装标准容器中的异构有效载荷,并在任何服务器上运行它们,并保证隔离性和可重复性。 Docker什么时候会启动?

如何从任何docker仓库拉单个图像?

docker仓库包含多个图像。 是否有可能从存储库中拉出特定的图像。 当我使用: docker pull ubuntu 它拉下了大约8-10个不同版本的Ubuntu。

优点虚拟机已超过轻量级容器(docker)

我从docker的最新版本说明中有以下引用 – 像所有主要的IaaS实现一样,Openstack在很大程度上依赖于虚拟机。 虽然在某些应用程序中总是会有虚拟机的情况,但是我们认为轻量级容器在很多情况下是一个很好的select,特别是对于CPU和内存密集型的负载以及虚拟机的性能开销。 以上说明了docker vs VM的优点在于CPU和内存密集型的有效载荷,所以我的问题是VM对docker有什么优势? 或者我应该什么时候使用虚拟机的docker? 正如我发现,我的大部分场景都由docker服务器。