我正在使用在3个不同的docker上运行的应用程序:
整个应用程序使用 docker-compose up
真的很简单:)
我想使其具有可伸缩性,并且独立于其他应用程序运行整个应用程序的多个实例(3个docker映像),然后放置一个负载平衡器,例如haproxy
它将重定向到其中一个应用程序。
我看到我可以使用它,docker-compose up --scale blablabla
但是问题是可以缩放容器,但是我真的想保持不同的“应用程序”独立。
例如,如果我想要该应用程序的3个版本,我将有9个dockers映像等。
我看到我们可以在docker内部运行docker --privilege
(允许我创建一个内部有3个docker的docker),但是我在Stack
Overflow上读到它不是合适的解决方案。
你有解决方案吗?或至少要阅读一些文档。
我听说Kubernetes可能是一个解决方案,但我不确定。我读(在堆栈上)
如果需要紧密绑定的多个容器,则可能需要查看在其“ pods”中运行docker的Kubernetes
听起来您只希望Compose应用程序的3个不同环境或“堆栈”彼此独立运行。在这种情况下,您可以使用--project- name
或-p
选项来处理docker-compose
。一个例子是这样的:
docker-compose -p appv1 up -d
docker-compose -p appv2 up -d
docker-compose -p appv3 up -d
此时,您将运行3组不同的容器,这些容器可以相互独立扩展。Docker
Compose将在项目名称(通常从文件夹名称推断)之前加上容器名称。您将结束与容器的名字,如appv1_worker_1
,appv2_worker_1
,appv3_worker1
。如果您仅扩展appv2
工作人员服务(docker- compose -p appv2 scale worker=2
),则将获得额外的费用appv2_worker_2
。
默认情况下,compose总是创建一个默认的网络,容器可以与之通信。在这种情况下,你将有3个独立的网络(appv1_default
,appv2_default
,和appv3_default
)。
如果下一个要为每个项目名称运行不同的图像,则可以在中使用环境变量插值docker-compose.yml
。例如,您可以指定image: ${MYIMAGE}
一项服务,然后执行以下操作:
MYIMAGE=myorg/myapp:v1 docker-compose -p appv1 up -d
MYIMAGE=myorg/myapp:v2 docker-compose -p appv2 up -d
希望这对在Docker Compose内实现它有帮助。
问题内容: 如何在一台机器上运行多个JVM?您如何在其他JVM中调用方法? 问题答案: 如何在一台机器上运行多个JVM? 只需启动多个进程即可。 您如何在其他JVM中调用方法? 使用任何类型的RPC框架(RMI,EJB,Web服务等)。
可以运行多个WorkerMan实例,一般只要启动文件不同并且监听端口不同即可。
我现在不知道如何写一个合适的方法来测试这种行为。请不要投反对票... 我现在有一个java类负责处理和向多个数据库添加数据。每个数据库保存相同的数据,但处理方式不同(例如,使用不同的插值速率进行插值)。 所以我运行程序(点击绿色矩形),修改参数(插值率)并运行程序。所以我有两个进程运行(因为大约。这就是为什么我不想冒任何中断的风险,担心数据库被搞砸了)。 我的问题是:这个修改是否适用于已经运行的进
我正在使用loadrunner控制器11和load generator,容量为400个用户。 当在控制器中执行脚本时,我看到对于每个脚本,相应的mmdrv在任务管理器中运行,也就是说,如果有10个脚本在执行,则有10个mmdrv在运行。 协议:Web HTTP/HTML协议。
我正在从NPM迁移到Thread,我希望并行运行脚本,例如: 它在纱线中的等价物是什么? 我发现它的等价物是分别运行每一个: 但是我不能并行运行脚本。 如何使用多个脚本
问题内容: 因此,我的目标是让函数启动自己的线程,以便可以并行运行,而不必等待上一个线程完成。问题在于,它似乎不是多线程的(意味着一个线程在另一个线程开始之前就完成了)。 我也有该函数的内部,但似乎启动的线程的标识与从其运行python脚本的主线程相同。我认为我的方法不正确。 问题答案: 这是常见错误,容易出错。 只需在主线程中一次执行您的函数,然后将(我想为您函数的返回值)作为函数传递给线程,这