Articles of LXC

作为root用户的无特权的lxc容器

我已经成功地运行了特权的lxc容器(以root身份)。 我的系统: uname -a Linux ruby-dev 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux sudo apt-get install cgmanager cgmanager-utils cgroup-bin The following are available on system: libcap, libapparmor, libselinux, libseccomp, pyhton3-dev sudo apt-get install lxc sudo lxc-create -t download -n semiprivcont1 — -d ubuntu -r trusty -a amd64 sudo lxc-start […]

Libvirt LXC泄露了进程

我试图在Ubuntu 16.04服务器上运行多个lxc容器。 (libvirt版本是1.3.1)。 我的团队使用这些容器的本质意味着他们不断启动,然后被销毁,我们使用python libvirt api绑定来pipe理这个生命周期。 我们的工具用于在较老的ubuntu(14.04)和较旧的libvirt版本(1.2.4)上正常工作。 在升级的硬件/软件设置上,一切都开始正常工作:容器的行为应该是他们应该的。 但是随着服务器继续在configuration的负载下运行,容器似乎没有被完全销毁。 我这样说是因为当我运行virsh list ,我看到了我期望的运行容器的数量 – 但是,当我使用ps和grep列出容器名称的进程时,我发现我仍然有大量的libvirt进程运行我已经销毁的容器 – 他们似乎已经被libvirt泄露。 我不知道为什么当我们使用libvirt api来销毁它们时,它们并没有被破坏。 有没有人见过这种行为? 如果是这样,你对此做了什么? 我完全难倒了。

无法在Ubuntu上使用UFW进行端口转发

我试图让端口fowarding工作揭露一个LXC容器,当在ubuntu上使用ufw ,但无济于事。 我已经从互联网上的指南([1] [2] [3])中构build了以下工作stream程)。 最显着的是关于/etc/ufw/before.rules的部分,我看到所有的地方重复,但….我不能让它为我工作。 如果任何人按照这个指南,发现成功….请让我知道(所以我可能会先哭,然后回落,写我自己的防火墙工具) 重现/testing的步骤 build立 testing环境 新的VM(我使用virtualbox)“host1”同时具有NAT和NATnetworking接口 安装Ubuntu服务器16.04 – 只做一个默认的安装 第二个VM实例“host2”,在同一个NATnetworking上 主机1上的LXC安装 – 我正在使用普通的LXC,而不是引入LXD设置 sudo lxc-create -n web -t download — -d centos -r 7 -a amd64 sudo lxc-start -n web sudo lxc-attach -n web yum install httpd ; yum enable httpd ; yum start httpd exit 我们现在假设 host1上的NATnetworking接口是enp0s8和 host1上的容器IP为10.0.3.101 host1的enp0s8的IP为10.0.2.6 […]

与公共IP的LXCnetworking

我已经使用这个链接在Ubuntu的服务器12.04安装LXC。 它已成功安装,我可以使用ubutu / ubuntu作为用户名和密码login。 然后我试图为LXC容器设置networking。 我在/ etc / network / interface中更改为 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 125.67.43.100 netmask 255.255.255.0 broadcast 178.33.40.255 gateway 125.67.43.1 / var / lib / lxc / mycontainer / config的内容是: lxc.utsname = mycontainer lxc.mount = /var/lib/lxc/test/fstab lxc.rootfs = /var/lib/lxc/test/rootfs lxc.network.type = veth lxc.network.flags = […]

从同一主机上的虚拟机客户端访问LXC容器

上下文 我在我的Ubuntu笔记本电脑上开发网站(Ubuntu 13.04 64b)。 每个站点在networking10.0.3.x的专用LXC容器¹内运行 我有时需要从运行Windows®的虚拟客户端访问这些站点 它曾经是“开箱即用”的工作,但几个星期前,它刚刚停止。 我猜在Ubuntu更新之后,它是一个LXC还是一个Virtualbox,甚至是一个“networking内容”更新? 我不知道,因为我不是每天都在进行这些testing。 ¹假冒各种复杂的平台,只使用我实际需要的资源。 ²在Windows浏览器下testing它们。 问题是: 我应该如何设置我的Virtualbox / LXC /主机networkingconfiguration才能从Virtualbox guest虚拟机访问LXC容器上的网站? 我到目前为止所做的 我目前的virtualbox设置是有2个网卡。 wlan0上的一个网桥(上网) LXC虚拟卡lxcbr0上的桥(访问容器) 一个奇怪的事情:我可以从Windows VM ping LXC容器,但是我无法通过HTTP(浏览器或80端口上的telnet)访问它们。 只有实际启动的容器才能响应ping。 我尝试了一些其他的设置,但我更“猜测”比了解正在发生的事情。 我目前的workarround 我用iptables在主机上设置了一个端口,就像我在整个networking上build立一个容器一样(实际上它是这么做的)。 当我这样做时,我可以从Windows VM到达转发的容器。 但是,这绝对不是一个干净的解决scheme: 我当时只能访问一个容器(或者我必须使用不同的端口) 我需要重新configurationiptables任何时候我切换项目 我实际上允许外部世界访问容器 我需要有一个活跃的LAN或WAN连接 我几乎不能使用域名了(我有一个在Windows中匹配容器的IP主机文件)

SELinux基于CentOS7的LXC?

有没有办法使用proxmox 4.2在基于LXC的容器上启用SELinux?

在LXC中运行基于systemd的容器

我目前正在尝试在Ubuntu 12.04主机上使用LXC运行Arch Linux容器。 Arch Linux最近已经迁移到了systemd ,根据各种地方,作为LXC guest有一些问题。 但是,这些来源中有许多已经过时了,而且我也看到其他各种来源表明可以使用像lxc.autodev或devtmpfs这样的lxc.autodev来运行基于systemd的访客。 因此,我试图找出以下几点: 是否可以在LXC容器内运行基于systemd的guest虚拟机(截至2013年2月)? 有没有人有一个示例模板/configuration文件与“`mkarchroot“使用得到一个运行? 目前使用LXC 0.7.5版本,但如果这是必要的升级不应该是一个问题。

lxd容器:像docker一样的端口转发

有没有办法像docker一样在lxd容器中进行端口转发呢? 我听到有些传闻说没有简单的方法。 根据lxd的主页,这是他们的目标: 直观(简单,清晰的API和清晰的命令行体验) 对于我来说端口转发是一个重要的部分。 我不急。 如果计划将来发布,这将是一个有效的答案。

LXC容器显示主机的全部RAM数量和CPU数量

我已经使用LXC容器几年了,最近扩展了在容器环境中运行的应用程序的types。 我现在开始使用configuration参数来限制容器级别的资源: lxc.cgroup.cpuset.cpus = 16-23 lxc.cgroup.memory.limit_in_bytes = 30720M lxc.cgroup.memory.memsw.limit_in_bytes = 32768M 我正在和一位正在使用“调优”工具( pgtune )的开发人员合作,为在LXC环境中运行的Postgres数据库生成一个configuration。 这个工具比较老,不太适合虚拟机或者容器感知。 它根据系统可见的RAM进行大小推荐。 那是当我意识到看到所有的主机系统的RAM(96GB)对容器实例可见时在某些情况下可能是有害的。 有没有解决这个问题的方法,还是使用LXC时只是给定的?

使LXC容器可以直接用ipv6访问

首先,我有一个特殊的IPv6地址分配给我的专用服务器,只有1. A :: 1/128之一。 但我可以分配地址给eth0(例如:: 2/128,:: 3/128等)。 现在我想在该服务器上运行LXC容器,但我希望他们成为一等公民,我希望他们有一个自己的IPv6地址。 与IPv4的LXC工作正常。 我可以启动一个容器,从它平静的世界。 我有一个桥接设备叫做lxcbr0 。 老实说,我不知道该怎么做。 在具体的LXCconfiguration我有('前缀'代表我分配,以及前缀): lxc.network.ipv6 = prefix::3/128 lxc.network.ipv6.gateway = prefix::2 # iffy, not sure this is correct 在主机上,我configuration了sysctl来使用转发: net.ipv6.conf.default.forwarding = 1 net.ipv6.conf.eth0.forwarding = 1 现在我失去了踪迹。 我想我需要分配一个IP桥。 我已经为它分配了前缀:: 2/128,这个我在上面的LXCconfiguration中使用。 在'接口'中: iface lxcbr0 inet6 static address prefix::2 netmask 128 # use arp proxy? Read that somewhere. post-up […]