Geo*_*rey 12 docker kubernetes docker-compose
我正在使用在3个不同的码头工人上运行的应用程序:
整个应用程序启动 docker-compose up
真的很简单:)
我想使它可扩展并独立于其他应用程序运行整个应用程序的多个实例(3个docker镜像),然后放置一个负载均衡器haproxy,将重定向到其中一个应用程序.
我看到我可以使用,docker-compose up --scale blablabla但问题是我可以扩展容器,但我真的想保持不同的"应用程序"独立.
例如,如果我想要3个版本的应用程序,我将有9个泊坞窗图像等.
我看到我们可以在docker中运行docker --privilege(允许我在里面创建一个带有3个docker的docker)但是我在Stack Overflow上读到它不是一个合适的解决方案.
你有解决方案吗?或至少阅读一些文件.
我听说Kubernetes可能是一个解决方案,但我不确定.我看了(在堆栈上)
如果您需要紧密绑定多个容器,您可能需要查看在其"pods"中运行docker的Kubernetes
And*_*inn 32
听起来你只想要3个不同的环境或Compose应用程序的"堆栈"彼此独立运行.如果是这种情况,您可以使用--project-name或-p选项来处理此问题docker-compose.一个例子是这样的:
docker-compose -p appv1 up -ddocker-compose -p appv2 up -ddocker-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 -dMYIMAGE=myorg/myapp:v2 docker-compose -p appv2 up -d希望这有助于在Docker Compose中做到这一点.
小智 11
如果要从单个命令一次运行多个 docker-compose 文件,请使用此方法。如果撰写文件是 docker-compose1.yml 和 docker-compose2.yml,则可以使用以下命令运行这两个 docker 文件,
docker-compose -f docker-compose1.yml -f docker-compose2.yml up
| 归档时间: |
|
| 查看次数: |
8997 次 |
| 最近记录: |