docker - Docker中的多实例应用程序

标签 docker docker-compose dockerfile docker-machine

我有一个应在Ubuntu OS上多次运行的服务器应用程序,我想使用docker。

什么是获得更好性能的最佳方案?

1-使用docker和Ubuntu镜像在单个容器中运行所有实例

要么

2-在单独的容器中运行每个应用程序的单个实例

选项2对于我的解决方案来说似乎更好,但是我想知道在这种情况下浪费了多少系统资源,并且每次都加载Ubuntu?

最佳答案

您确实应该为每个实例使用一个容器,因为只有这样,您才能分别扩展,运行和管理它们。没有那个 docker 就没有意义,一个虚拟机也不会有太大的不同。

如果您的应用程序多次使用而不使用更多资源,则性能不会显着下降。

仅Docker容器真的很便宜。他们共享内核,并使用“写时复制”功能,因此不需要比单个容器更多的空间。

使用100个Ubuntu容器自己进行测试:

docker service create --name test ubuntu sleep 9999
docker service scale test=100

等一下
docker service ls

您会发现几乎没有资源

关于docker - Docker中的多实例应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39755974/

相关文章:

postgresql - 意外的 "permission denied"与 3.13 主机

laravel - gitlab-ci期间无法在docker中启动MySQL服务

docker - docker-compose.yml覆盖删除镜像构建

c# - Docker-compose 从另一个容器访问 MySQL 容器

docker - 监听端口和使其可访问之间的区别

docker - 来自 Docker 容器的 dotnet restore 失败

docker - Visual Studio 生成的 Dockerfile 不适用于手动 docker build

docker - stdin不是 Jenkins 的tty

docker - 应用更改时如何更新特定的 docker 图像

mysql - 使用 Docker Mysql COPY 为数据库做种失败