所以从redhat / centos 7开始,系统资源pipe理得到了很大的改进。 在redhat / centos 7之前,cgroup使用libcgroup软件包和守护进程(如cgred)运行。 以前,如果我想把一个进程转换成一个cgroup,我可以这样做: cgclassify -g cpu:some_cgroup <pid> 然而,在研究systemd的资源pipe理时,我发现文章指出libcgroup软件包已被弃用,并且大多数在redhat / centos 7上不起作用。 如果cgclassify仍然可以工作,我很困惑我将如何使用它来移动进程,因为实际上没有命名cgroups,而是片/范围/服务。 假设我有一个用uid 1111login的用户,我创build了一些限制systemd中的资源的规则,下面的命令不能将一个进程移动到他们的用户片: cgclassify -g cpu:user-1111.slice <pid> 有没有我在这里失踪的约定? 我也看到有一个systemd-run命令几乎可以做我想要的,但是没有办法将所有当前的环境variables都传递给它,甚至不需要担心cgclassify 。 你可以传递环境variables,但是实际上传递所有的variables,你必须为通过环境variables传递的每个variables传递一个条目。 任何人有任何想让cgclassify工作,甚至只是我可以采取的方法改变?
我有一个Web服务器主机(Linux上的Apache),它运行许多虚拟主机,它们使用“chroot”来提供CGI和FastCGI来彼此分离进程。 由于多种原因,我正在考虑用Linux容器来replace每个chroot环境。 令人惊讶的是,我几乎找不到这个想法! 我是唯一一个有这个想法的人吗? 这是一个坏主意吗? (用户可以从容器中逃脱吗?)有人有兴趣与我分享他的想法(或链接)吗? 不幸的是,容器只能用于CGI和FastCGI,因为一个进程/线程(在这个例子中是Apache)不能进入一个容器,而是工作并离开。 他必须在这个阶段退出,对吗? 还是有一个窍门?
我是一个装有容器的东西,在带有Alpine3.4容器的ubuntu-16.04主机上摆弄LXD-2.0。 问题: 如何用非root用户打开容器的控制台? lxc exec mycontainer bash 这使我直接在容器中作为根。 但是,当我打开控制台时,我想首先成为非root用户。 像在非容器环境中一样,以容器内的非root用户的身份运行应用程序是最佳做法吗? (即使容器是以“无特权”模式启动的)。
我们有一个运行Linux Debian的服务器端应用程序。 我们计划将应用程序分配为虚拟机映像(例如,可以稍后导入到VMware ESX服务器的ovf映像) 我们主要关心的是如何组织我们的应用程序的更新。 我认为这比用新版本replace我们的应用程序更复杂。 新版本的应用程序可能需要一些Linux库或工具的新版本(比如新的libstdc ++或libssl或新的grep),甚至可能需要整个Linux系统的升级。 升级过程当然需要尽可能less的用户参与。 最直接的方法就是调用“apt升级”作为应用程序的升级前步骤。 但是我觉得这个方法很脆弱,因为: 如果升级的系统部分成功,并且升级的应用程序部分失败,则会导致系统可能中断 如果升级的系统部分中途中断,则可能会导致系统崩溃 “apt升级”和朋友需要互联网连接,情况并非总是如此 因此,我正在寻找一种方法来将我们的应用程序与Linux(具有所有必需的库和工具)捆绑在一起,并将其推送给我们的用户。 这样,整个软件包将被安装在辅助分区上,并在重启后被激活。 我非常喜欢这种“一体化”的方法,因为这样我们可以完全控制我们发布的内容,并且可以在更新过程中出现问题时执行回滚(只需切换回原始分区)。 我正在寻找的是现有的技术,以“OS +应用程序”包实现这样的升级或至less关键字提示谷歌他们。 我特别感兴趣的是Linux Debian 8。
在select应用程序容器解决scheme与操作系统容器解决scheme之间的一个决定点是安全性 我没有足够的知识能够比较和对比两者。 我认为他们是不同的,但是比另一个更开放?
我在Ubuntu 14.04.05上运行由LXD创build的Linux容器。 我有一个lxdbr0接口设置,但其默认的MTU是1500 。 我如何更新它?
我尝试了一个简单的教程,通过遵循简单的命令在多容器中运行WordPress。 docker pull mysql docker pull wordpress docker run –name yourSql -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest docker run –name letterPress –link yourSql:mysql -p 8888:80 -d wordpress 一切运行得很好,如果我访问WordPress的容器,其IP地址和端口像http://172.18.0.2:8888 这启动了一个WordPress向导,其中这个向导不会询问任何与MySQL有关的证书(主机名,数据库名,用户名和密码) 但是,如果我试图在dockernetwork运行这两个containers ,那么它会问我所有的凭据(现在不是自动的) docker network create blog-network docker run –name yourSql –net blog-network -e MYSQL_ROOT_PASSWORD=abc123 -d mysql:latest docker run –name letterPress –net blog-network –link yourSql:mysql -p 8888:80 -d wordpress […]
我已经在专用服务器上的centos 6上安装了OpenVZ。 我遵循openvz wiki上的快速安装指南。 安装thum之后,我不知道为什么,但grub.conf不会自动更新,以适应新的内核,所以我不得不手动。 我编辑了grub.conf,添加了openvz内核,并重新启动 – 它没有问题。 服务器上升到openvz内核,它的工作,它自己开始openvz服务。 但是在我创build了一个容器之后,添加了IP并试图启动它,但是我不能。 以下是shell的输出: [root@cloud2 ~]# vzctl start 86 Starting container … Container is mounted Container start failed (try to check kernel messages, eg "dmesg | tail") Container is unmounted [root@cloud2 ~]# dmesg | tail [ 1973.401596] CT: 86: failed to start with err=-105 [ 2107.113850] Failed to […]
我想知道是否有任何公共脚本自动重新启动OpenVZ容器在某些负载量/高CPU。 试图限制我的个人机器上的容器,谢谢。
我有一对在主机上运行的docker容器,这些容器一起使我的应用程序完成。 因此,对于我的应用程序的每个迭代/实例,都需要一对Docker容器才能运行。 到目前为止,我正在使用–link参数,同时运行第二个容器来链接第一个容器,并从主机文件获取第一个容器的IP以编程方式使用它。 现在,我需要为第二个Docker容器设置透明代理。 因此第二个容器的所有http(端口80)stream量都应该经过第一个容器的端口8080。 第一个容器IP: 172.17.0.4 (代理服务在端口8080上运行)。 第二个容器IP: 172.17.0.6 (有浏览器之类的客户端工具)。 我想将172.17.0.6的所有httpstream量(端口80 )转发到172.17.0.4的8080端口。 即)到172.17.0.4 <—> 8080的172.17.0.6的80 我已经尝试添加上述configuration的第二个容器内的iptables规则。 但他们都没有工作。 ~# sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to-destination 172.17.0.4:8080 不起作用。 ~# sudo iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 172.17.0.4:8080 不起作用。 ~# sudo iptables […]