Tag: linux kernel

谷歌的容器优化操作系统内置了哪些内核选项?

我无法findGoogle的容器优化操作系统内置的内核选项。 我试着寻找像boot/config-*和/proc/config.gz这样的常见位置,但没有find任何东西。 我search了源代码,也没有find任何东西,但我可能只是在错误的search。 我很好奇的具体选项是CONFIG_CFS_BANDWIDTH以及是否启用。 谢谢!

LXC / docker.io和内核更新

Linux容器使用其主机系统的内核。 主机系统内核重大升级后,如何确保容器正常?

Docker容器:找不到lsmod

我如何获得在Docker上运行的Ubuntu 14中的lsmod和modprobe ? 我需要在容器中安装设备驱动程序,但首先我需要这些命令。 (docker图像最初来自docker集线器,来自tomcat:7图像)。

无法终止进程(源自docker容器)

我运行一个有几千个容器的Docker集群,每天随机运行几次,我有一个进程阻塞容器停止。 下面是一个示例容器,其相应的过程和所有我试图杀死容器/进程的东西。 容器: # docker ps | grep 950677e2317f 950677e2317f 7e553d1d9f6f "/bin/sh -c /minecraf" 2 days ago Up 2 days 0.0.0.0:22661->22661/tcp, 0.0.0.0:22661->22661/udp, 0.0.0.0:37681->37681/tcp, 0.0.0.0:37681->37681/udp gloomy_jennings 尝试使用docker守护进程停止容器(它会永远尝试没有结果): # time docker stop –time=1 950677e2317f ^C real 0m13.508s user 0m0.036s sys 0m0.008s 守护进程尝试停止时logging日志: # journalctl -fu docker.service — Logs begin at Fri 2015-12-11 15:40:55 CET. — Dec 31 […]

Docker和PaX主机

我花了几天的时间试图让Docker容器在Gentoo Hardened上正常运行。 我花了数天才发现的第一个问题是由我自己的偏执狂所驱动的:我放置Docker根的分区挂载了nosuid和noexec。 因此,devicemapper驱动程序对它进行了处理,因为它创build了许多循环设备来完成它的工作,但覆盖驱动程序没有,因为它inheritance了顶部的noexec标志,所以容器中的可执行文件将不会运行。 我只是留下这个知识让别人来发现这里… 然而,那样的话,我绊倒了另外一个问题:PaX标志。 PaX强制要求创build包含代码的新内存页面的可执行文件需要使用特殊的ELF头文件或扩展的文件系统属性(最好是两者)来标记,因为推荐的Gentoo设置是使用扩展属性并忽略ELF头文件。 那些不合规的可执行文件在他们尝试的时候就会被杀死。 不幸的是,只需要尝试的程序列表包括nodejs,python,以及几乎所有其他现代的解释器,更不用说mongodb了。 可能还有其他问题的可执行文件,但这些是主要的元凶,也是你经常想要在容器中看到的东西。 更不幸的是,尽pipedocker图像应该能够包含由扩展属性标记的文件,但是对于需要这种标记的通用软件(特别是mongodb和nodejs)来说,没有一个官方图像似乎具有这些标记。 目前,我一直在解决这个问题,将实际的文件放在磁盘上,并从容器外面设置它的xattr。 这显然是一个非常糟糕的主意。 解决这个问题的正确方法是什么?就这一点而言,似乎没有其他人似乎有一个特别的理由,正如大量的Googlesearch似乎表明的那样? 是否有,也许,我错过了另一个内核选项,(我倾向于这么做)或一个特定的推荐方式来设置它们,使其保持安全,实际上工作? 除了closuresPaX,就是。

使用马拉松来部署docker容器

我正在使用马拉松来部署我的docker容器与马拉松规范中指定的内存限制,如下所示: { "id": "<name>", "cmd": null, "cpus": 2, "mem": 4096, "disk": 30720, "instances": 1, "container": { "docker": { "image": "<docker-image>", "network": "HOST", "privileged": true, "forcePullImage": true }, "requirePorts": true, "ports": [<port>], "type": "DOCKER" } } 但是运行了大约2-3小时后,遇到内存不足的问题,OOM杀手几乎没有任何任务,但导致我的服务器处于完全冻结状态。 我不能ssh或访问任何服务。 需要从该状态完全重启机器才能正常工作。 我检查了系统日志,他们似乎是: 我的问题是如何避免这一点? 可以做些什么来防止这种情况发生?

如何编译在Docker中使用内核函数的C代码并在容器中使用pci设备?

我有一个Makefile使用PCI设备的一些C ++代码 all: g++ -o executable main.cpp dragon.pb.cc -std=c++11 -O3 -I/usr/include/postgresql -I/usr/include/hiredis -lzmq -lprotobuf -lpthread -lpq -lhiredis clean: rm executable 它依赖于这个使用内核函数的C库。 这个libraby的Makefile是 # dist and build are folders, not phony targets .PHONY: all package clean all: dragon.pb.cc dragon_pb2.py package dragon.pb.cc: dragon.proto protoc –cpp_out=. dragon.proto dragon_pb2.py: dragon.proto protoc –python_out=. dragon.proto package: build clean: rm -f dragon.pb.* […]

单个主机上可以同时运行多less个docker集装箱?

我是新来的lxc和docker工人。 docker最大客户端数量仅取决于CPU和RAM,还是还有一些与同时运行多个容器相关的其他因素?

特权容器和function

如果我在特权模式下运行容器,它是否具有所有内核function,还是需要分别添加它们?

Docker如何运行不同内核的发行版?

docker如何在Debian主机上运行,​​也许是一个容器中的OpenSUSE? 它使用不同的内核,分开的模块。 另外,旧的Debian版本也使用了旧的内核,那么如何在内核版本3.10以上运行? 较旧的内核只有较旧的内置函数,旧版本如何pipe理新的function? 什么是“诀窍”呢?