问题标签 [docker-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.
docker - Docker Swarm - 在每台机器上调度容器
我目前正在尝试使用 Docker Swarm/Compose 在每台集群机器上分别生成 Redis 的容器实例。我目前正在使用 4 台机器作为示例。使用亲和标签的想法是确保两个 redis 实例不会被安排在同一台机器上。
起初,以下工作。
然而,在强制一些容器停止以模拟崩溃、将它们推回、关闭所有容器,然后最后使用 重新从头开始运行所有内容之后docker-compose scale redis=4
,我发现 redis 在同一台机器上运行了两个容器,即使集群中有 4 个可用。
我到底做错了什么?谢谢。
jenkins - Jenkins Swarm 插件 - 带有随机字母数字值的从站名称
我正在使用 Jenkins (1.573) 和 Swarm 插件 (2.0):https ://wiki.jenkins-ci.org/display/JENKINS/Swarm+Plugin 。
从http://maven.jenkins-ci.org/content/repositories/releases/org/jenkins-ci/plugins/swarm-client/2.0/下载 jar
我已经在 Jenkins(主)中安装了插件,并从一台 Linux 机器(我想用作从机)下载了带有依赖项 2.0 的 swarm 客户端 jar 并运行以下命令:
注意:
$p 变量中存储了密码。
可以正常使用模式(而不是独占)。
$ java -jar swarm-client-2.0-jar-with-dependencies.jar -name "`hostname -a`_01" -fsroot "`pwd`/`hostname -a`_01" -master http://jenkins_server.yo .company.com:8081 -disableSslVerification -username c123456 -password $p -description "`hostname -a` " -executors 5 -labels "ANSIBLE_CENTOS CENTOS" -mode 'exclusive' -retry 3
在 Jenkins master 中,我看到从站已成功创建(使用 JLNP 身份验证),但从站的名称有点奇怪。
它不是将从属名称创建为主机名(即 我的例子中的jmeter01或jmeter01.yo.company.com),而是使用随机字母数字值作为从属名称的后缀。有时为jmeter01_01-ee12355ec,有时为jmeter01_01-1893f0ea。
我希望从站名称只是:jmeter01_01或someserver_01或someserver.fq.dn_01
我可能给错了什么?
docker-swarm - docker swarm 创建失败,并显示“保留了剩余的连接插槽......”
遵循 OSX 的初学者文档:
结果在pq: remaining connection slots are reserved for non-replication superuser connections
.
任何想法我做错了什么或文档需要如何更新?
docker - 我可以要求容器的 RAM 超过使用 Docker-Swarm 的单个主机上的物理内存吗
我是 docker 新手,我想用 docker-swarm 构建一个 docker 集群。
在链接中:https ://docs.docker.com/swarm/scheduler/strategy/我有一个问题:
假设我有 2 个具有 2G RAM 的节点。如果我运行一个要求 3G RAM 的容器怎么办。它会工作吗?
还是有别的方法?
谢谢。
networking - docker 容器如何获取 docker swarm 运行的 IP
因此,我的应用程序服务器(安装了 swarm 的实例)和许多客户端(不同物理节点上的 docker 容器)要求客户端应通过主机名连接到服务器,我不知道容器如何获取 swarm 运行的节点 IP 以便能够连接。我知道我可以通过主机名和运行 swarm 的节点的 IP 将主机规则传递给每个 docker 容器,但我不知道如何获取该 IP,因为有很多具有不同 IP 的接口。
所以通常我正在寻找类似 docker 客户端可以询问 swarm 你的 IP 是什么才能连接回来的东西。
docker - Docker-compose 和 Docker-swarm
我正在使用 docker-compose 和 docker swarm。我创建了一个 docker-mgt 服务器,从中我做了一个 docker-machine 来设置一个由 swarm master 和两个 swarm-agents 组成的 swarm 集群。
我创建了一个在容器中启动的 Express 应用程序,看来 swarm master 决定将它放在 agent1 上。然后我还有一个我在 Docker Swarm 上使用 docker-compose 运行的 Wordpress 站点(来自 docker compose 站点的示例)。
可以使用以下图像:
所以它确实有 wordpress_web:latest 可用,但它仍然抱怨。
在单独的 docker 主机(不是 swarm 集群的一部分)上运行这个 wordpress 应用程序时,它运行得很好。为了排除 wordpress 应用程序上的错误,我还尝试了另一个完全不同的应用程序,该应用程序由两个容器(使用 docker-compose)组成,这是完全相同的问题。
我开始认为 docker compose 和 swarm 不能顺利协同工作,但这当然很难相信。
docker - 拥有现有 Docker-Swarm 的船厂
我有一个 Docker Swarm 集群(主 + 2 个代理)。我正在安装 Shipyard 以获得 UI。
我遇到了上述错误。知道这是为什么吗?
user-interface - 转发在非 GUI 主机上运行 GUI 的 Docker 容器
我有一个带有 docker 节点的小型集群,我通过 ssh 进入的网关服务器访问它。我想做的是在集群上运行带有 GUI 的 Eclipse,并在我的计算机上访问该 GUI。
到目前为止我发现的是:http: //fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/
但是,我遇到的问题是主机没有运行任何 x-server,因为它只是集群中的一个节点,所以我无法将所需的目录挂载到容器中。
有没有办法通过这种设置在容器中使用 GUI 应用程序?
jenkins - 将 Docker 与 jenkins 集成以实现持续集成
我有 jenkins 来编译和构建工件。我无法在 jenkins 机器上安装 docker 和创建容器,所以我在单独的机器上安装了 docker,比如 192.000.000.1。从 jenkins 我需要执行 192.000.000.1 中可用的 dockerfile(安装了 docker)。谁能解释我如何做到这一点?提前致谢
networking - Docker Swarm - Network Overlay not connecting all containers
I currently have 3 EC2 instances setup with Docker Swarm and Consul. I have 3 simple node apps spread across all 3 instances, and then nginx for routing on my swarm master.
Using the guide for Overlay Networks, I've created a new overlay called mynet
and have every container connected to this network. Using docker inspect
I can confirm that each node container and the nginx container all are connected to mynet
and have an IP. However, after sshing in to my nginx container, it's only able to communicate with the node app that sits on the same host through the network, and not the ones on the other hosts in the cluster.
运行后docker network inspect mynet
,只列出了我的两个容器(位于同一主机上的 nginx 和一个节点实例),而其他两个未列出,即使它们具有来自docker inspect
.
这个想法是使用nginx 反向代理将任何上线的新容器添加到它的配置中,但我坚持让容器全部连接。根据用于覆盖的 Docker 网络文档,这应该是可能的。
我究竟做错了什么?谢谢。
编辑:
在发送了几次垃圾邮件之后docker network inspect mynet
,看起来容器不断地连接和断开网络,即使我关闭了所有防火墙并打开了端口以进行测试。什么会导致这样的事情?