docker 容器内的并行测试进程

Parallel test processes within docker container

我正在 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 的同一台机器上,很明显这些测试是 运行ning 并行并用尽所有可用资源(正是我们想要的 CI) .

当在 docker 中执行时,似乎所有 运行 都在一个进程中,结果仅来自每个测试 运行ners 的同步(而且它很多比较慢)。

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

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