Docker alignment

I know this is a little long question, but any help would be appreciated.

The short version is just that I want to have a set of containers exchanging with each other on multiple hosts and accessible with SSH. I know that there are tools for this, but I could not do it.

Long version:

There is software with several components, and these components can be installed on any number of machines. There is a client and server side for this software. Both client-server and server components communicate via UDP ports. The server uses CentOS, the client uses Microsoft Windows.

I want to create a test environment consisting of 4 containers, and these components will be distributed in these containers and on the client side. Docker host machine - Ubuntu, CentOS containers. If I install all the components in one container, it works if there are more than not. According to magazines, this works, but it doesn’t.

I read that for this you need to bundle containers or use an orchestrator like Maestro, but I have not been able to do this yet.

I want to be able to run a set if containers that exchange data with each other on one or more hosts. I want to have access to these containers using ssh so that the service starts automatically.

It would also be great to use ddns for containers, because the names will be used again and again, but the IP addresses can change, but that's just the cherry on top.

Some characteristics:

The host is the new version of Ubuntu 12.04.4 LTS x86_64 Docker - the latest version. (lxc-docker 0.10.0) I used my own driver. Containers simple simple centro pulled from the docker index. I installed some basic elements in containers: openssh-server, mc, java-jre. I changed the docker network to a network accessible from the internal network. The rules for the IP tables were cleared because I did not need them, but also tried with them in place, but with no luck. The file /etc/default/docker changes:

  DOCKER_OPTS="--iptables=false" 

or with open API:

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

The ports that the software uses are between 6000-9000, but I tried to open all the ports. Run command example:

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

I also tried with an open API:

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

I do not give up, but I would appreciate help.

+6
source share
3 answers

You might want to take a look at the docker swarm project. This will allow you to consider your set of test machines as a cluster to which you can deploy containers.

+2
source

You can simply use fig to orchestrate and bind the containers together, instead of doing all that ddns and port forwarding do. The syntax for fig.yml is pretty simple.

0
source

You can use binding for the network part. You can use these tutorials

https://github.com/weaveworks/weave

http://xmodulo.com/networking-between-docker-containers.html

0
source

All Articles