Articles of 虚拟化

docker:SSH直接访问容器

到目前为止,我们使用几个Linux用户: system_foo @服务器 system_bar @服务器 … 我们想把系统用户放到docker容器中。 linux用户system_foo – >容器system_foo 服务器内部的更改没有问题,但远程系统使用这些用户向我们发送数据。 我们需要让ssh system_foo@server工作。 远程系统不能改变。 如果每个Linux操作系统只有一个系统(通过端口22到容器),那么我会非常容易。 但有几个。 我们如何才能从旧的scheme更改为docker集装箱,并保持服务的ssh system_foo@server可用,而无需在远程站点的变化? 如果你不明白这个问题,请留下评论。 谢谢。

如何以编程方式知道我是否在虚拟机中?

我希望能够从Windows和Linux都能这样做。 我知道通过获取sysinfo和使用与硬件标识符相关的缩略图规则是有办法的。 我想知道是否有一个更基本的方法,如查看内存地址/发出中断等 顺便说一句我正在试图在英特尔硬件上做到这一点,我使用的虚拟化软件是Vmware Workstation和Windows HyperV。

如何从用户空间注册一个虚拟卡alsa?

我正在从用户空间开发一个虚拟设备 (使用umview http://wiki.virtualsquare.org/wiki/index.php/UMview )所以,我需要注册我的设备到系统的声卡列表 (我从来没有在内核模块中使用alsa,所以我认为我需要调用snd_card_register()函数) 但我无法从用户空间find一种方法… 也许我可以写一个系统调用来做到这一点?

在mysql容器中提交数据

我使用正式支持的mysql映像创build了一个mysql容器。 我运行镜像挂载一个包含sql转储的文件夹,然后我在容器中创build了一个新的数据库,并在其中导入了.sql转储: sudo docker run –name mysql-psat1 -v /opt/Projets/P1/sqldumps:/mnt -e MYSQL_ROOT_PASSWORD=secret -d mysql:latest sudo docker exec -it mysql-psat1 bash > mysql -uroot -psecret -e 'create database liferay_psat1;' > mysql -uroot -psecret liferay_psat1 < /mnt/liferay_sql_dump.sql 然后我列出正在运行的容器以获取该容器的ID: sudo docker ps -a 然后,我将容器(包含导入的sql)作为新的容器图像提交 sudo docker commit -m "Imported liferay sql dump" <id-of-the-container> jihedamine/mysql-psat1:v1 但是,如果我使用新映像启动容器,则mysql数据库不包含新创build的数据库liferay_psat1。 sudo docker run -ti […]

主函数总是在同一地址加载,而variables在大多数情况下有不同的地址?

我今天写了这个小程序,结果被我吹走了。 这是程序 int main(int argc, char **argv) { int a; printf("\n\tMain is located at: %p and the variable a is located at address: %p",main,&a); return 0; } 在我的机器上,主函数总是被加载到地址“0x80483d4”,并且variables的地址不断变化。这是怎么发生的? 我在操作系统中读到,作为虚拟化scheme的一部分,操作系统一直在重定位指令的地址。 那么为什么每次我运行这个程序时,主要被加载在同一个地址? 在此先感谢家伙。

如何检测脚本是否在虚拟机上运行?

我不认为这个问题需要任何解释。 我正在编写一个可以启动虚拟机来模拟networking的软件。 如果软件已经在虚拟机上运行,​​我想禁用此function。 我已经阅读了这篇文章: 如何检测我的应用程序是否在虚拟机中运行? 但是我需要在Linux上这样做,而这篇文章只涵盖了Windows。 我将它标记为一个Perl问题,因为我必须在Perl中执行它,但可能在proc或其他地方有一些文件需要检查,而且对于所有语言都是一样的。 我其实不知道 我感兴趣的是主要检测VirtualBox和KVM,因为那些是我正在使用的VM。 那么,有什么build议?

docker附加与lxc附加

更新:Docker 0.9.0现在使用libcontainer,从LXC转向请参阅: 将进程附加到Docker lib容器容器 我正在运行弹性search的function: docker run -d -p 9200:9200 -p 9300:9300 dockerfile/elasticsearch 检查过程如下所示: $ docker ps –no-trunc CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 49fdccefe4c8c72750d8155bbddad3acd8f573bf13926dcaab53c38672a62f22 dockerfile/elasticsearch:latest /usr/share/elasticsearch/bin/elasticsearch java About an hour ago Up 8 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp pensive_morse 现在,当我尝试附加正在运行的容器时,我被堆叠起来: $ sudo docker attach 49fdccefe4c8c72750d8155bbddad3acd8f573bf13926dcaab53c38672a62f22 [sudo] password for lsoave: tty不连接,提示不回来。 用lxc-attach做同样的工作很好: $ sudo lxc-attach […]

无法在Ubuntu 16.04中启动Docker服务

我一直在试图在Ubuntu 16.04上使用Docker(1.10),但安装失败,因为Docker服务无法启动 。 我已经尝试通过docker.io , docker -engine apt软件包和curl -sSL https://get.docker.com/ | sh来安装curl -sSL https://get.docker.com/ | sh curl -sSL https://get.docker.com/ | sh但它不工作。 我的主机信息是: Linux Xenial 4.5.3-040503-generic #201605041831 SMP Wed May 4 22:33:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 这里是systemctl status docker.service : ● docker.service – Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) […]

检查VT-x是否激活,而不必在Linux中重新启动?

我有一个笔记本电脑与英特尔酷睿i5 M 450 @ 2.40GHz显然有VT – X,但不是VT – D。 我有Ubuntu 12.04 32位,但希望有一个虚拟的64位基于terminal的Linux上运行。 如何知道BIOS是否启用了此VT-xfunction而无需重启?

如何在Linux中创build虚拟以太网设备?

我正在testing使用以太网(而非IP)在两台计算机之间进行协商的协议的实现。 为了实际上不必有两台物理计算机,我想创build两个虚拟以太网接口。 这些只能相互交谈,所以一个端点程序将绑定到一个接口,另一个端点将绑定到另一个端点。 这是可能的,我该怎么做?