gpt4 book ai didi

Docker Swarm 链接

转载 作者:行者123 更新时间:2023-12-04 21:12:07 29 4
gpt4 key购买 nike

我想创建一个 Docker Swarm 集群,运行一个 Elasticsearch 实例、一个 MongoDB 实例和一个 grails 应用程序,每个都在单独的机器上。我正在使用 Docker Machine 来设置我的 Docker Swarm 集群

swarm-01:
mongodb
mongodb_ambassador

swarm-02:
elasticsearch
elasticsearch_ambassador

swarm-03:
mongodb_ambassador
elasticsearch_ambassador
grails



我设置的最后一步,运行实际的 grails 应用程序,使用以下命令:
docker run -p 8080:8080 -d --name grails-master --volumes-from maven --link mongo:mongo-master --link es:es-master my-grails-image

失败并出现错误:

Error response from daemon: Unable to find a node fulfilling all dependencies: --volumes-from=maven --link=mongo:mongo-master --link=es:es-master



大使容器和 Maven 数据容器都运行在同一个节点上。
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS                                                          NAMES
74677dad09a7 svendowideit/ambassador "/bin/sh -c 'env | gr" 18 minutes ago Up 18 minutes 9200/tcp, 9300/tcp swarm-03/es
98b38c4fc575 svendowideit/ambassador "/bin/sh -c 'env | gr" 18 minutes ago Up 18 minutes 27107/tcp swarm-03/mongo
7d45fb82eacc debian:jessie "/bin/bash" 20 minutes ago swarm-03/maven

我无法在 Swarm 集群上运行 Grails 应用程序;任何意见,将不胜感激。在一台机器上运行所有容器都可以,所以我想我在将 mongo 和 es 实例链接到 grails 应用程序时犯了一个错误。

顺便说一句,我在 OS X 上使用最新的 Docker Toolbox 安装。

最佳答案

“链接”在 docker 中已被弃用。不要使用它。它很复杂,而且不够灵活。
只需为群模式创建一个覆盖网络。
docker network create -d overlay mynetwork
在 swarm 模式下(甚至在单容器模式下),只需将每个应该与另一个服务通信的服务添加到同一个网络。
docker service create --network mynetwork --name mymongodb ...
同一网络中的其他服务可以通过主机名访问您的 mongodb 服务 mymongodb .就这样。 Docker swarm 模式包含电池。

关于Docker Swarm 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32329708/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com