Articles of 容器

在主机之间复制lxd容器

我已经在两个只能通过中间服务器进行通信的ubuntu主机上安装了lxd(我没有su权限)。 我在我的本地主机上创build了一个容器,现在希望在远程服务器上加载容器。 我咨询了lxc / lxd仓库中的basic.shtesting脚本,以确认我使用的是正确的方法(我发现一路上我误解了图像vs容器)。 我在本地主机上创build了一个容器testing,在其中安装了所有必要的东西,停止了它,发布了它,并执行了以下命令: lxc image export test 这给了我一个tarball 42cf01c53cb9e … 83e3c48.tar.gz (缩短在这里),如文档(我正在运行lxc和lxd版本2.0.0.beta3)中所述。 试图通过相同的主机导入该图像 lxc image import 42cf01c53cb9e…83e3c48.tar.gz –alias testimage 产生错误: exit status 2 (tar: metadata.yaml: Not found in archive) basic.sh脚本让我相信我正在遵循正确的路线(除了tar.gz vs tar.xz descrepancY)。 我能够导出标准图像,并获得一个.xz文件(当我获得他们使用lxd图像)。 例如, lxd-images import ubuntu –alias ubuntu lxc image export ubuntu 产生一个meta-ubuntu … tar.xz和ubuntu … tar.xz文件,可以导入(在不同的服务器上) lxc image import […]

使用网桥和vlanconfiguration容器(仅限服务器?)

我在服务器上有两组lxc contianers,并且出于安全原因希望隔离它们的networkingstream量。 我将使用端口转发,因此每个容器都有独立的IP。 我知道我必须把两个小组划分,并且打算给每个小组29个。 我也假设我需要把每个子网放在它自己的vlan上。 但是我不知道如何安排Veth#,网桥,vlan和主机网卡,以及有什么select? 理想情况下,我想将vlans限制在服务器上,以便主机网卡从未加标签的路由器/防火墙接收转发的数据包。 然后,当它们从主机NIC通过任何桥接器和vlan传递到容器上的Veth#时,它们被标记并且不标记。 简而言之,我只想将每个子网与另一个子网隔离,同时允许将数据包从路由器转发到每个子网上的任何容器。 如果有一个更简单的方法,我会很高兴听到它。 PS我正在使用Ubuntu服务器12.04与它的lxcnetworking库。 我没有单独安装libvirt。 任何信息或build议非常感谢。

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来销毁它们时,它们并没有被破坏。 有没有人见过这种行为? 如果是这样,你对此做了什么? 我完全难倒了。

如果退出0结果,如何退出所有主pipe进程

我与这样的主pipe运行docker集装箱: Dockerfile CMD ["/run.sh"] run.sh #!/usr/bin/env bash exec supervisord -n 主pipe-serf.conf [group:job] programs=serf,producer [program:serf] command=/start-serf-agent.sh numprocs=1 autostart=true autorestart=unexpected stopasgroup=true killasgroup=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 start-serf-agent.sh #!/bin/bash exec serf agent –join=serf:7946 -tag role=producer 主pipe-servce.conf [program:producer] command=/start.sh numprocs=1 stopasgroup=true killasgroup=true stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0 stderr_logfile=/dev/stderr stderr_logfile_maxbytes=0 start.sh #!/bin/bash exec /producer –project=${NAME} 制片人停下来之后我得到了: producer_1 | 2016/02/29 21:59:50 [INFO] serf: EventMemberLeave: […]

Docker镜像构build挂在“pacman -S …”

我正在试图从官方的Arch Linux镜像中构build一个Docker镜像。 这些是我迄今为止所做的事情: 我推出了官方的Arch Linux Image: docker pull base/archlinux 我写了这个“Dockerfile”: # Set base image FROM base/archlinux:latest # Fix mirrorlist file #RUN rm /etc/pacman.d/mirrorlist #RUN echo "Server = http://…" >> /etc/pacman.d/mirrorlist #RUN echo "Server = http://…" >> /etc/pacman.d/mirrorlist #RUN echo "Server = http://…" >> /etc/pacman.d/mirrorlist #RUN echo "Server = http://…" >> /etc/pacman.d/mirrorlist # Update pacman and […]

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时只是给定的?

与常规安装相反,在数据中心使用“容器”有什么好处?

我刚刚看过这个video: Google集装箱数据中心之旅 我不清楚的是,把服务器放在容器里面有什么好处?

AWS上的多容器docker – Nginx使用主机/ etc / hostsparsing器

我在Amazon Elastic Beanstalk上使用以下Dockerrun.aws.json文件创build多容器泊坞窗环境: { "AWSEBDockerrunVersion": 2, "containerDefinitions": [ { "name": "web", "memoryReservation": 256, "image": "my/nginx/repo/image", "portMappings": [ { "hostPort": 80, "containerPort": 80 } ], "links": [ "api" ], "essential": true }, { "name": "api", "memoryReservation": 256, "image": "my-api/repo", "essential": true, "portMappings": [ { "hostPort": 3000, "containerPort": 80 } ] } ] } 最终,我希望nginx提供的节点应用程序能够parsing来自链接容器的命名地址的请求,因此在我的web图像(节点应用程序)中,我想向http://api/some/resource发出请求,并让nginxparsing那到api容器。 现在,由于docker为指定的链接添加了api容器的主机条目,所以我希望nginx服务器能够parsing来自主机etc/hosts文件的地址,然而正如我发现的,nginx使用它自己的parsing器。 在研究了这个问题后,我发现在非Elastic […]

Hyper-V容器将允许运行Linux容器?

我无法在任何地方find确切的答案(很多矛盾的信息,而且很一般)。 使用MS Windows Server 2016的新版本,将有可能以两种模式运行容器: Windows容器 Hyper-V容器 第一个(Windows容器)是一个经典的容器,共享相同的MS Windows服务器内核,不是很安全。 然而,第二个(hyper-v容器)使用虚拟机pipe理程序来提供隔离和安全性。 Windows 10周年正式发布几个月前,微软已经将“Windows子系统Linux版”包含在内。 使用Hyper-V容器技术可以运行Linux(Ubuntu,Debian,CoreOS等)容器吗? 我到处search,但找不到用于Hyper-V容器的Linux容器映像。 只有两个可以find的是微软提供的Nano Server和Windows Server 2016。 现在,使用Windows Server 2016的技术预览版5(TP5),几天前Ignite会议上宣布即将推出通用可用性(GA)。 有人得到消息吗? 能够validation?