我知道这是一个有点长的问题,但任何帮助将不胜感激.
简短版本就是我希望有一组容器在多个主机上相互通信,并且可以通过SSH访问.我知道有这方面的工具,但我无法做到这一点.
长版本是:
有一个软件有多个组件,这些组件可以安装在任意数量的机器上.该软件有客户端和服务器端.客户端 - 服务器和服务器端组件都通过UDP端口进行通信.服务器使用CentOS,客户端使用Microsoft Windows.
我想创建一个由4个容器组成的测试环境,这些组件将分布在这些容器和客户端计算机上.docker主机是Ubuntu,容器是CentOS.如果我将所有组件安装在一个容器中,它就可以正常工作,如果有的话,那就更多了.根据日志它的工作但不是.
我读到你需要链接容器或使用像Maestro这样的协调器来做到这一点,但到目前为止我无法做到这一点.
我想要的是能够启动一个集合,如果容器在一个或多个主机上相互通信.我希望能够使用ssh访问这些容器,因此服务应该自动启动.
同样,对于容器使用ddns会很棒,因为名称会一次又一次地使用,但IP地址可能会改变,但这只是顶部的樱桃.
一些规格:
主机是全新安装的Ubuntu 12.04.4 LTS x86_64 Docker是最新版本.(lxc-docker 0.10.0)我使用了本机驱动程序.容器是一个简单的简单的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-i -t --privileged --expose 1-65535/udp /bin/bash
我也试过暴露的API:
docker -H :4243 run -h-i -t --privileged --expose 1-65535/udp /bin/bash
我不放弃,但我会感激一些帮助.