docker容器

时间:2015-09-16 17:42:16

标签: parallel-processing docker docker-compose parallel-testing

我在docker容器中执行parallel_tests,例如一个主机命令。

parallel_tests将检查资源,并为每个核心生成一个进程,在我的实例中,我有8个核心可用:

# docker info
Containers: 5
Images: 75
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 85
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.16.0-49-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 8
Total Memory: 15.61 GiB
Name: camacho
ID: ZOYN:QGDO:UGMJ:TDDM:WEEM:ZEHJ:4OKB:V5WR:RGCL:NOKG:F5W5:SDEL
WARNING: No swap limit support

在没有docker的同一台机器上,显然这些测试并行运行并耗尽所有可用资源(正是我们想要的CI)。

在docker中执行时,似乎所有内容都在一个进程中运行,并且结果只能从每个测试运行器同步进行(相比之下它的速度要慢得多)。

我是否需要运行并行主机命令才能使用资源?我是否可以设置一个选项以允许我的docker命令分叉更多并行进程?

1 个答案:

答案 0 :(得分:0)

部分问题是在带有virtualbox的OSX上运行,而virtualbox设置为仅使用一个核心运行。 dinghy halt然后virtualbox | settings | system | processor。将其设置为线程数,即四核超线程cpu的8个线程。