问题标签 [swarm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 使用 api 密钥的 docker swarm 和 aws ecr 身份验证
在将堆栈部署到在 AWS EC2 中运行的 docker swarm 集群时,我无法从 AWS ECR 中提取 docker 映像。
如果我尝试 ssh 到任何节点并手动进行身份验证并手动提取图像,则没有问题
这有效:
但是,如果我尝试部署堆栈或服务:
在我已经通过身份验证的节点以及所有其他管理器/工作程序节点上找不到该图像。
来自 docker service ps myapp 的错误:
操作系统:RHEL 7.3 Docker 版本:Docker 版本 1.13.1-cs5,构建 21c42d8
有人有这个问题的解决方案吗?
docker - 获取 docker swarm 集群工作节点错误
我正在研究 docker swarm。当我连接到工作节点时,出现此错误:
来自守护进程的错误响应:rpc 错误:代码 = 14 desc = grpc:连接不可用
我已经停止了防火墙和 setenforce 0。可能是什么问题?
docker - 在一个节点上禁止多个容器
如何在一个节点上禁止使用多个容器:Docker、Swarm、Compose?例如,我有 5 个节点,我想部署 3 个副本一些服务,我希望这个副本将在不同的节点上。
elasticsearch - 跨 docker 的 Elasticsearch 集群
如何部署 ES (Elasticsearch) 集群?
我使用 Docker Swarm + Compose 部署我的系统,并尝试通过 .yml 部署 ES 集群:
呼叫请求<ip>:9200/_cat/nodes?v
我看到单个实例。问题https://github.com/elastic/elasticsearch-docker/issues/91说这是 Docker 中的错误,它将被修复。没关系,但是没有集群的 ES 就不是 ES!在互联网上,我看到人们部署不同的服务作为主服务器和从服务器,但这是一个笨拙的解决方案,因为 ES 本身决定了谁是主服务器,谁不是,它胜任。还有一个有趣的问题:你如何部署你的 ES 集群?
docker - 如何在 swarm 中重命名 docker 服务?
我有一个 docker swarm,它运行一个名为web
.
由于某些原因,我想重命名它。我可以删除该服务并创建一个新服务,但这不是很好。
如何将其重命名为例如old-web
?
docker - docker stack deploy 不使用创建的覆盖网络
我使用以下命令创建了一个覆盖网络:
然后我尝试使用一项服务部署堆栈。堆栈的 yaml 文件如下所示:
我使用以下命令部署堆栈:
如果我使用 docker network ls 检查网络,我会发现新的覆盖网络使用名称 test_test 创建,并且容器使用该网络而不是已经创建的网络。这是预期的行为吗?我希望堆栈使用我手动创建的网络而不是创建新网络,因为我想控制覆盖网络使用的 ip CIDR 范围。我怎样才能做到这一点?
docker - 如何在端口 443 和 80 的 docker swarm 中创建 nginx 服务
我正在尝试在生产环境中具有 2 个节点的 docker swarm 中创建具有 2 个副本的 nginx 服务。节点是在数字海洋中创建的。此 nginx 服务将充当 apache 虚拟主机的反向代理 (https<–> http)。要创建我使用的 nginx 服务:
docker service create --replicas 2 -p 80:80 --p 443:443 --name webserver --mount type=bind,source=/environments/ssl-env,destination=/etc/nginx/ssl --mount type =bind,source=/conf/nginx.conf,destination=/etc/nginx/nginx.conf --mount type=bind,source=/middleware,destination=/etc/nginx/conf.d nginx
运行此命令后,服务无法启动,没有任何有用的错误消息。但是,只有在工作节点中,docker 守护进程才会监听端口 443:
另外,当我评论 nginx.conf 中监听 443 的 https 部分时,我的 nginx 服务已创建并成功运行,但我当然想使用 https 部分。你有什么主意吗?Docker 版本 17.05.0-ce,构建 89658be。这是 nginx.conf 的一部分:
docker - 在 docker swarm 内的工作节点上运行的 docker 守护程序侦听 443 并且无法在此端口上运行服务
Docker
在 docker swarm 内的节点中运行的守护进程监听 443,因此当我尝试nginx
在此端口上运行服务时,我收到此端口已在使用中的错误。
如何启动 docker 守护程序以侦听不同的端口?
当我删除 swarm 时,Docker
守护程序停止侦听端口 443。
docker - 无法在 swarm compose yaml 文件中使用用户定义的网桥
我从docker 文档中了解到,如果不使用用户定义的桥接网络,我无法使用 docker DNS 来使用主机名查找容器。我使用以下命令创建了一个:
并尝试部署一个使用它的容器。撰写文件看起来像:
我的 docker 版本是:Docker version 17.06.2-ce, build cec0b72
当我尝试部署堆栈时出现以下错误:
我能够创建一个覆盖网络并在撰写文件中定义它。效果很好,但不适用于桥接。docker network ls 的结果:
更新
我尝试创建在两个不同的 swarm 节点上运行的两个容器(第一个容器在管理器上运行,而第二个在工作节点上运行),我指定了用户定义的覆盖网络,如上面的堆栈所示。我尝试使用主机名从 mytest-web1 容器中 ping mytest-web2 容器,但我得到了unknown host mytest-web2