gpt4 book ai didi

linux - Docker 编排

转载 作者:IT老高 更新时间:2023-10-28 21:39:57 28 4
gpt4 key购买 nike

我知道这是一个有点长的问题,但我们将不胜感激。

简而言之,我想让一组容器在多个主机上相互通信,并且可以通过 SSH 访问。我知道有这方面的工具,但我做不到。

长版是:

有一个软件有多个组件,这些组件可以安装在任意数量的机器上。该软件有一个客户端和一个服务器端。客户端-服务器和服务器端组件都通过 UDP 端口进行通信。服务器使用 CentOS,客户端使用 Microsoft Windows。

我想创建一个包含 4 个容器的测试环境,这些组件将分布在这些容器和客户端机器上。docker 主机是 Ubuntu,容器是 CentOS。如果我将所有组件安装在一个容器中,它就可以工作,如果还有更多,那就不行了。根据日志,它可以工作,但不能。

我读到您需要链接容器或使用像 Maestro 这样的编排器来执行此操作,但到目前为止我无法做到。

我想要的是能够在一个或多个主机上启动一组相互通信的容器。我希望能够使用 ssh 访问这些容器,以便服务自动启动。

此外,对容器使用 ddns 也很好,因为名称会被反复使用,但 IP 地址可以更改,但这只是最重要的。

一些规范:

主机是全新安装的 Ubuntu 12.04.4 LTS x86_64Docker 是最新版本。 (lxc-docker 0.10.0) 我使用的是 native 驱动程序。容器是从 docker 索引中提取的简单的 centos。我在容器上安装了一些基本的东西:openssh-server、mc、java-jre。我将 docker 网络更改为可以从内部网络访问的网络。IP 表规则已清除,因为我不需要它们,但也尝试了这些规则但没有运气。/etc/default/docker 文件更改:

    DOCKER_OPTS="--iptables=false"

或使用公开的 API:

    DOCKER_OPTS="-H tcp://0.0.0.0:4243 --iptables=false"

软件使用的端口在 6000-9000 之间,但我尝试打开所有端口。运行命令示例:

    docker run -h <hostname> -i -t  --privileged --expose 1-65535/udp <image> /bin/bash

我也尝试了暴露的 API:

    docker -H :4243 run -h <hostname> -i -t  --privileged --expose 1-65535/udp <image> /bin/bash

我不会放弃,但我希望能得到一些帮助。

最佳答案

您可能想看看开发中的 docker swarm项目。它将允许您将您的一组测试机器视为一个集群,您可以将容器部署到该集群。

关于linux - Docker 编排,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23294086/

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