我如何运行多个Docker容器?

我想运行尽可能多的Docker容器,因为我有许多CPU核心。 所以,我用命令: docker run --cpus="16" --link=mongo_dev:mongodb -d -p 8001:8000 --name app myapp

另外,我试过:

docker run --cpuset-cpus="0-15" --link=mongo_dev:mongodb -d -p 8001:8000 --name app myapp

但它只运行一个容器。 还是我误解了这个命令的使用? 在一台机器上运行多个Docker容器是真的吗? 据我所知,我不能使用node.js 集群模块在一个Docker容器中创build我的应用程序的多个实例,因为它只在1个CPU内核中运行,是吗?

如果使用docker-compose,则可以使用scale参数来运行同一图像的多个实例。

这已经在这里得到了解答docker-compose为同一个图像创build多个实例

查看docker-compose的官方文档https://docs.docker.com/compose/reference/scale/

是。 您可以在一台服务器上运行多个容器,但不限于CPU数量。

你的命令创build并启动一个容器,最多可以访问16个CPU(在第二个例子中,只有CPU是0-15)。

你想要做的是N次执行你的命令N容器。 如果您希望限制容器只使用一个CPU,则使用–cpus = 1。 如果您还希望限制容器不共享CPU,请使用–cpuset-cpus = I,其中I是每个容器的整数0-15。 但实际上,内核在调度方面非常好,除非你正在进行额外的调整,否则我会让它做这个工作。