Tag: 虚拟化

将Docker容器连接到桥上

我目前正在通过如何连接Docker容器没有一个桥梁的教程,并进入以下命令时,我来到了一个绕道: ip link set netns ./docker-pid-cx dev c_x_eth0 。 我从命令得到的结果是RTNETLINK answers: Invalid argument 。 在shell脚本中, docker-pid-cx : docker inspect –format '{{.State.Pid}}' cx 有任何问题请询问 谢谢

Docker – 访问主机/ proc

这是我在docker论坛中发布的一篇文章的副本。 因此,一旦解决这个问题,iam将closures这个/另一个。 但由于没有人在docker论坛的答案,我的问题仍然存在,生病后再次期待得到答案。 我想公开一个服务器监控应用程序作为docker集装箱。 我写的应用程序依靠/ proc来读取系统信息,如CPU利用率或磁盘统计信息。 因此,我必须将主机/ proc虚拟文件系统中提供的信息转发到我的docker集装箱。 所以我做了一个简单的图像(使用docker网站上的第一个或第二个介绍: 链接 ),并启动它: docker run -v=/proc:/host/proc:ro -d hostfiletest docker run -v = / proc:/ host / proc:ro -d hostfiletest假设正在运行的容器可以从/ host / proc中读取以获取有关主机系统的信息。 我启动了容器内的一个控制台来检查: docker exec -it {one of the funny names the container get} bash 并检查了/ host / proc的内容。 最简单的方法是获取/ host / proc / sys / kernel […]

Docker中同一个程序的多个实例

我有一个Java程序模拟我自己做的协议。 它绑定到正在运行的计算机上的给定IP地址和端口号。 我期待在具有多个网卡的同一台机器上运行该程序的多个实例。 这是可能的使用docker(一位同事已经向我build议,但不知道太多)? 我的另一个计划是用桥接器在机器上运行多个虚拟机,但与使用Docker相比,我认为这是浪费资源(根据我所了解的情况,仍然很难理解这个想法)。 一旦执行,程序就像一个守护进程等待消息/数据包一样在后台运行,并可以通过终止进程来停止。

Docker运行时间统计(基准)

我知道周围有很多docker专家,但是我花了相当多的时间来找出一些事实,并且了解了Docker的运行时间性能,但不幸的是我没有得到任何具体的答案。 让我开始告诉你我的系统的configuration: (a)在具有48GB内存,1TB光盘和12核心CPU的机器上运行CentOS 6.5。 (b)我build立了一个大小差不多6.5GB的Docker镜像 下面是一些问题,如果有人可以为读者的利益回答: (a)现在使用给定的configuration,问题是我可以并行运行多less个容器而不中断任何function? (b)假设我有两张3.5GB大小的图像,那么是否build议运行多张小图像,或者大图像性能好? (c)什么是与Docker一起使用的最佳文件系统选项? 编辑:更多信息 (d)其实我试图把许多编译器放在一个容器中,并试图让用户在线编译他们的语言。 这个工具正在开发中,将取代我现有的网站compileonlone.com。 事情进展良好,我build立了两个图像,每个编译器都很less。 我能够成功运行250个容器,之后我开始打开太多的文件。 在250个容器之后,我的RAM达到了40GB,CPU利用率约为50%。 我面临的主要问题是拆除旧的容器。 因为用户会来编译他的代码,然后会消失,所以我需要在一段时间后删除那些容器,但是当我试图通过使用docker rm -v来移除这些停止的容器时,它会减慢主docker进程,它几乎挂着。 我的意思是在/var/run/docker.sock中监听的docker -d守护进程。 不知道是否有任何其他的方式来清理这些容器或我有一个错误。 这里是Docker的细节: # docker info Containers: 1016 Images: 41 Storage Driver: devicemapper Pool Name: docker-0:20-258-pool Pool Blocksize: 64 Kb Data file: /var/lib/docker/devicemapper/devicemapper/data Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata Data Space Used: 17820.7 Mb Data Space Total: 102400.0 […]

在Fedora上使用设备映射器时,Docker会变慢吗?

我正在试验docker,并计划对我的项目的CI infratsructure dockerize。 我正在三个不同的机器上构builddockerfiles:Fedora,Ubuntu和Boot2Docker(windows下的虚拟机)。 在Fedora上构build的Docker比在其他两台机器上慢得多,特别是在Dockerfile中的步骤之后创build新映像的操作。 所以我的问题是:设备映射器比AUFS慢很多,或者我应该寻找其他原因? 我应该期望更好,如果我把一个RHEL7configuration? configuration1:fedora 21(3.18.3-201.fc21.x86_64) sudo docker info Containers: 27 Images: 1353 Storage Driver: devicemapper Pool Blocksize: 65.54 kB Backing Filesystem: extfs Data Space Used: 82.77 GB Data Space Total: 107.4 GB Metadata Space Used: 103.9 MB Metadata Space Total: 2.147 GB Udev Sync Supported: true Library Version: 1.02.93 (2015-01-30) Execution […]

CoreOS单元发布失败

我尝试使用chat.service上的chat.service单元文件启动服务,但失败了: // chat.service [Unit] Description=ChatApp [Service] ExecStartPre=-/usr/bin/docker kill simplechat1 ExecStartPre=-/usr/bin/docker rm simplechat1 ExecStartPre=-/usr/bin/docker pull jochasinga/socketio-chat ExecStart=/usr/bin/docker run -p 3000:3000 –name simplechat1 jochasinga/socketio-chat fleetctl list-units显示: UNIT MACHINE ACTIVE SUB chat.service cfe13a03…/<virtual-ip> failed failed 但是,如果我将chat.service更改为: // chat.service [Service] ExecStart=/usr/bin/docker run -p 3000:3000 <mydockerhubuser>/socketio-chat 它运行得很好。 fleetctl list-units显示: UNIT MACHINE ACTIVE SUB chat.service 8df7b42d…/<virtual-ip> active running 编辑使用journalctl -u chat.service我得到了: […]

如何共享我的Mac和Docker容器之间的文件夹

花了一些时间试图设置一个Docker容器,并访问我的Mac上的一个文件夹。 我知道你可以使用Docker Volumes来连接主机上的一个文件夹,在Mac上这个文件夹最终是VirtualBox中的Linux,docker run的参数是-v。 考虑到这一点,我想我可以在VirtualBox中设置共享文件夹,然后将其映射到Docker容器。 但是,我一直无法获得我已经添加到VB显示的共享文件夹。 以下是我所做的: 1)在VBpipe理员中添加了一个共享文件夹 2)通过docker-machine restart和VB应用程序本身重新启动VB操作系统 3)通过docker-machine sshlogin到VB OS 4)做了一个ls -l的根目录 用户文件夹(在VB中已经存在)显示出来,但是我添加的文件夹(Projects)没有。 我无法弄清楚为什么两个文件夹都不会出现。 任何人有这个问题? 似乎有这么多的人在谈论使用Docker进行本地开发,以及许多使用Mac的开发人员,这将是一个简单的问题。 但是…唉…不是我到目前为止。 谢谢你的帮助。

运行Windows应用程序的Docker

我理解Docker是一个集装箱化的工具,只有一套有限的API,以便与平台无关。 我想了解它在典型的Windows开发上的限制。 例如,它是否仅限于写入文件系统的访问(并因此排除了写入registry的应用程序)? 在Dock不适合的情况下是否有一定程度的复杂性(但是我听说docker支持MSSQL)?

虚拟服务器或容器上的Android操作系统

我们可以在虚拟服务器(Google Cloud,EC2)上运行Android OS作为来宾操作系统吗? 我们可以在容器内运行Android操作系统吗?

如何在Mac上debuggingDocker设置的networking(可能是Hyperkit导致的问题)?

问题:networking没有路由到主机。 例如: docker run -tip 80:8080 httpd 不会导致Apache主机上的localhost:8080或docker.local:8080或类似的东西。 如果我尝试从内部连接,容器工作正常: docker run -ti debian curl 172.17.0.2 <html><body><h1>It works!</h1></body></html> 看来在Docker方面本身就是一切都好。 在docker ps你得到: … 80/tcp, 0.0.0.0:80->8080/tcp … : … 80/tcp, 0.0.0.0:80->8080/tcp … 环境:新的,干净的操作系统安装 – OSX Sierra 10.12.2,Docker.app版本1.13.0稳定(加上1.13.0。testing版和1.12.0testing版以及相同的结果)。 假设:在Docker和OS之间有一些东西被破坏了。 我猜这个“东西”是Hyperkit(对我来说就像一个黑盒子)。 可能会有一些设置从这里构build脚本中断: http : //bigchaindb-examples.readthedocs.io/en/latest/install.html#the-docker-way这是docker-machine为中心,事实上,我可能低估。 有趣的事实是,这是一个新的安装:这个构build脚本是我做的第一件事 – 我不知道之前的networking实际上是否工作。 问题:我如何诊断这个东西。 我希望能够跟踪stream量在哪里丢失,并相应地修复。