1

我正在尝试i)对一个简单的onyx-kafka作业进行故障排除,而不是写入主题。此处提供了更多详细信息。您可以在这个示例项目中尝试一下。我认为原因是因为只有一个 kafka 节点。

所以我尝试了ii)以 swarm mode启动运行 docker (17.09.0-ce, build afdb6d4)的kafka confluentinc/cp-kafka:3.3.1(with zookeeper ) 。但后来我得到了这个错误。confluentinc/cp-zookeeper:3.3.1

Warning: space is running low in /dev/shm (shm) threshold=167,772,160 usable=58,716,160

A)使用 docker compose,我可以通过配置选项(请参阅此处/dev/shm)将已安装的磁盘配置为具有更多容量。shm_size: 1G

docker swarm 是否有等价物?我只需要控制磁盘卷的大小。deploy但我在 docker compose 的配置中没有看到这样的选项(请参见此处)。而且该docker service --mount 选项似乎无法解决问题。这里有什么选择吗?

B)我不太了解这里描述Memory的卷安装。所以不知道这是否是一个可行的选择。

C)感谢来自devops-engineersSlack 频道的 Andrew Mulholland (@itwasntandy),我可以通过--mount type=tmpfs,dst=/dev/shm,tmpfs-size=768000000作为选项传入来伪造它docker service create ...(参见此处)。

但是官方文档说不支持tmpfs选项。此选项仅适用于 docker compose 的服务配置。它不适用于 docker 的 swarm 模式。docker stack deploy

总结。那么有没有办法在 swarm 配置中将该选项放入我现有的 docker-compose.yml文件中?

我很想能够跑步docker stack deploy --compose-file docker-compose.yml my-app。详情在这里。示例项目在这里。最终,我想:

  • i)运行一个 docker 堆栈,其服务具有 onyx-kafka 写入主题(请参见此处)。为此,我想我需要...
  • ii)以 swarm 模式启动 docker (17.09.0-ce, build afdb6d4),使用图像 kafka confluentinc/cp-kafka:3.3.1(with zookeeper confluentinc/cp-zookeeper:3.3.1)。但我遇到了这个内存错误问题。
4

0 回答 0