问题标签 [docker-stack]

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.

0 投票
0 回答
511 浏览

php - 在容器启动时运行 symfony 控制台

我正在寻找一种方法,在启动 docker 容器后执行 symfonys 控制台,例如数据库迁移。我正在使用 alpine php-fpm image,它的 Dockerfile 末尾有以下命令:

当我尝试在我的 docker-compose 文件中覆盖它时,php-fpm 不会启动或 symfony 控制台命令不会运行。理想情况下,执行应等待几秒钟,以确保数据库已启动。

对于这种情况,什么是好的解决方案?

0 投票
1 回答
692 浏览

docker - 一起停止、升级、启动所有 Docker Stack 服务?

我想停止docker-stack.yml文件中的所有服务,使用新的映像版本号更新文件,然后启动所有服务。为了一起升级它们,以便它们始终都是最新版本。

我该怎么做呢?我宁愿不删除网络和卷——我的意思是,这docker stack rm似乎有点矫枉过正?并且docker service scale service-name=0感觉容易出错?然后需要记住再次更改回> 0。

我想做一个停止一切升级的原因是它更简单:我的应用程序中的服务不需要与彼此不同版本的 API 兼容。永远不会有版本 X 的服务正在运行并且必须与另一个服务的版本 X - 1 通信(相反,所有服务都将使用相同的版本 X。它们使用相同的版本号)。

(如果我问错了问题,请随时告诉我 :- ) 注意:在这种特殊情况下,20 - 30 秒的停机时间是可以的,因为所有容器都会立即停止-升级-重新启动。这适用于 Docker Swarm / Stack,而不是 Docker-Compose(然后可以只做downand up)。)

0 投票
0 回答
977 浏览

docker - 如何为其他 Docker 容器和堆栈制作 Docker VPN 网关?

我们正在将 CI 基础设施实现为 Docker 堆栈。

堆栈中的一些容器现在需要访问外部服务,这些服务只能通过 OpenVPN 连接获得,比如说在192.168.2.0/24子网上。

为了使容器尽可能“单一用途”,我们理想情况下希望添加一个 Docker 容器作为 VPN 网关,其他容器可以通过它与192.168.2.0/24子网通信。

这首先引发了一个复杂问题:VPN 客户端容器需要cap-addof NET_ADMIN,这在我们用于部署堆栈的 swarm 模式中不可用。除了将 VPN 客户端容器作为独立启动之外,是否有解决方法docker run

更重要的是,一旦我们vpnclient运行并连接了容器,我们如何配置 swarm 中的其他容器以实际使用它作为网关来访问子网上的所有 IP 192.168.2.0/24

0 投票
1 回答
194 浏览

docker - Docker Swarm 模式错误:将两个工人加入一个经理

我很难建立一个由两名工人和一名经理组成的 Docker Swarm。一切正常,直到我添加第二个工人。添加第二个工人后,第一个工人的守护进程进入某种错误状态,其中一个简单的docker version产量

在此处输入图像描述

另外,我正在使用 Stack YAML 来启动三个 Redis 服务。

堆栈.yaml

我在 Windows Server 2016 上运行 Docker CE 18.09.0(EE 有同样的问题)此外,我所有的工作节点都在 Windows 平台上,使用 Linux 容器。(我的管理器节点是相同的,但由于问题 #3031而使用 Windows 容器)

在专有 Windows 环境中甚至支持设置多节点群吗?如何使用上面列出的环境设置此集群?

0 投票
0 回答
31 浏览

spring-boot - Docker 服务副本无法访问

  1. 当我在下面跑时

    我可以使用 curl 或任何浏览器(localhost:4000)从我的自定义 spring boot rest 端点获得响应,因此很明显  0.0.0.0:4000->1967/tcp端口映射按预期工作。

  2. 但是,当我在下面运行时

    我无法访问任何容器,因此 localhost:4000 没有响应,并且容器在初始启动后立即重新启动。

    我已经在选项 1 和选项 2 的所有容器中运行 netstat 命令。在选项 2 中,我可以看到端口 1967 正在被监听,但在选项 2 中,有一些随机端口(我猜,这是正常的,因为这些端口发布自己到 1967 年应用负载平衡)

    Dockerfile

    码头工人-compose.yml

    有谁知道这里有什么问题?每个选项之间有什么区别?

0 投票
2 回答
1400 浏览

docker - 我可以使用/构建自定义创建的 docker 镜像来创建另一个镜像吗?

我想在一个实例/服务器中创建一个图像 A,但在那个实例中没有互联网连接。

那么我可以创建一个包含所有安装在我的机器上的包的图像 B,然后推送到 xxxx 并在图像 A 中使用它作为 FROM 标记吗?

它看起来像:

请为此问题提出正确的解决方案。

0 投票
1 回答
210 浏览

postgresql - 当 docker 脚本中的 Python 连接到堆栈中的 SQL 服务器时出现问题

我有一堆单独运行良好的堆栈(至少我认为它确实......)。它有一个在端口 5432 上工作的 postgresql 和一个在端口 80 上的 web 服务器。可以从外部正确访问 web 服务器。

对于单元测试,我仅以堆栈模式运行数据库端:

然后,单元测试首先连接到另一个简单 python 容器中的数据库:

连接时测试脚本失败:

和:

但只有当我在容器内运行它时它才会失败。从外面看,它就像一个魅力。我还尝试设置一个外部网络并使用它(相同的 docker 节点):

显然,我预计从网络外部访问数据库比从内部访问数据库更困难,所以很明显,我在这里错过了一些东西,但我不知道是什么......

0 投票
1 回答
40 浏览

docker - 不同堆栈和网络上的 Docker 容器相互通信

在我的微服务架构应用程序中,我想添加 Sleuth 和 Zipkin 服务器(来自 Docker Hub 的图像)。在本地一切正常 - 每个微服务都将数据发送到 Zipkin 服务器。当我在服务器上部署所有微服务时,问题更加复杂 - Zipkin Web UI 是空的 - 没有任何痕迹。

在 application.properties 中,我们可以显式设置 Zipkin 服务器的 url:spring.zipkin.base-url: http://10.0.44.1:9411/

  • 我正在使用搬运工
  • 我所有的微服务都在网络 X1 的堆栈 X 中
  • Zipkin 在堆栈 Y 中,在网络 Y1 中。

我认为所有容器都可以在不同的堆栈/网络中相互通信,但事实并非如此。我应该怎么做才能发布我的 Zipkin 服务器/容器以供所有堆栈/网络中的所有容器使用?

有没有可能使用 Portainer 来做到这一点?

先感谢您

0 投票
1 回答
291 浏览

docker-compose - ldap 客户端容器适用于 docker run 但不适用于 docker-compose 或 docker-stack

案例 1:经典 docker run

env-file

使用以下命令运行 docker:

进入泊坞窗

==> 工作,然后我可以访问我的 ldap

案例 2:使用 docker-compose

docker-compose.yml

运行 docker-compose :

进入泊坞窗

==> 不起作用,然后我无法访问我的 ldap

案例 3:使用 docker-stack

同上docker-compose.yml

使用以下命令运行 docker-stack:

像上面一样进入容器

==> 不起作用,然后我无法访问我的 ldap

提示:

  • 在来自compose&的两个容器上,stack我得到了我的环境变量。
  • 这看起来我无法ldap://XX.XX.XXX.XXX:389从他们那里得到。
0 投票
1 回答
278 浏览

docker - Consul 集群堆栈配置

我正在尝试构建 Consul 集群堆栈。我当前的配置工作正常,但是在重新启动领事领导或全栈后,集群在投票给新领导时出现问题。

服务重新启动后,新任务对于相同的节点 ID 具有不同的 IP 地址。

领事代理配置是否有任何参数可以修复集群中的地址更改?

在我当前的堆栈定义之下