Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

However, normally you want do start multiple containers
with a more advanced configuration per container. For
this, we use docker-compose (a python module):


pip install docker-compose

AcomposeA simple docker-compose.yml (it runs only one container) looks like this:

version: '2'
services:
opennsa1:
image: opennsa_img
environment:
- PYTHONPATH=/opennsa
volumes:
- .:/opennsa
extra_hosts:`
- "dockerhost:172.17.0.1"
command: twistd -ny /opennsa/build/config/opennsa1.tac
ports:
- "9080:9080"

...

When you want to connect to a running container, you can use
the following:

docker ps <look up the name of the running container>
docker exec -i -t opennsa-amsopennsa1 /bin/bash


A more realistic openNSA Docker setup

...

version: '2'
services:

opennsa-ams:
container_name: opennsa-ams
hostname: opennsa-ams
image: opennsa_img:latest
environment:
- PYTHONPATH=/opennsa
volumes:
- .:/opennsa
extra_hosts:
- "dockerhost:10.50.0.1"
ports:x
- "9445:9445"
networks:
vpcbr:
ipv4_address: 10.50.0.2
command: twistd -ny build/config/gts/opennsa-ams-dud.tac

opennsa-bra:
container_name: opennsa-bra
hostname: opennsa-bra
image: opennsa_img:latest
environment:
- PYTHONPATH=/opennsa
volumes:
- .:/opennsa
extra_hosts:
- "dockerhost:10.50.0.1"
ports:x
- "9447:9447"
networks:
vpcbr:
ipv4_address: 10.50.0.3
command: twistd -ny build/config/gts/opennsa-ams-dud.tac


networks:
vpcbr:
driver: bridge
ipam:
config:
- subnet: 10.50.0.0/16
gateway: 10.50.0.1

Some configuration is needed for the nodes defined above (using opennsa-ams as an example).


Each of the OpenNSA nodes need their own database, which can be created by:

cd /data/opennsa
sudo -u postgres createdb -O opennsa opennsa-ams
sudo -u postgres psql -U opennsa -W opennsa-ams < datafiles/schema.sql

...


Each of the nodes need their own configuration files:

  • opennsa-ams-dud.tac: The twisted startup file, points to .conf
  • opennsa-ams-dud.conf: Node configuration, points to .nrm
  • opennsa-ams-top.nrm: Node topology

...