IA2 developed Software:

IA2TAP - Docker Image

 contact: M. Molinaro

 

To allow for a quicker one-step deployment of an IVOA TAP service (e.g. for test purposes), out of the IA2TAP and TAP_SCHEMA Manager web application, a Docker container image has been prepared.

This work has received funding from the European Community's Seventh Framework Programme (FP7--SPACE--2013--1) under grant agreement number 606740.

The image bundled image can be downloaded here: IA2TAP Docker.

Hereafter a quick installation guide (available also in the bundle).

Docker-image contains IA2TAP service and TSM service. 
Both are pre-configured with some assumptions.
To proceed you will need on-hand SQL-database user-name and password.
Such user should have enough rights to CREATE database, and tables
and INSERT values into it.

1. Verify that you have MySQL client installed (command 'mysql').
If so, execute this script:

ia2tap-setup-configDB.sh <dbUserName> <dbUserPassword>

This creates the configuration database for IA2TAP service (called ia2tapConfig)
pre-configured with values consistent with those inside the docker image.

2. load and run the docker image:

docker load -i xxxx.tar
docker run --net=host glassfish-ia2tap

This will accupy the console with glassfish-log. Redirect stdout to a file
if you do not wish to observe the log.

Note that,
or you need to run docker commands as superuser (prefix with 'sudo')
or the user who executes these commands needs to belong to 'docker' group.
This is part of normal docker install.

3. Connect to Glassfish administrator console and provide
<dbUserName> <dbUserPassword> for Connection Pools.
In browser point to:

http://127.0.0.1:4848

and then select from "JDBC" menu the "Connection Pools" entry and
then modify properties of the pools called "ia2tapConfig" and "catalagues".
For both, under tab "Additional Properties" set correctly
properties "user" and "password". These should be set to
<dbUserName> <dbUserPassword>. Press "Save" for both and check that
connection to ia2tapConfig is working with "Ping" button.
(Connection to "catalogues" will ping after catdb_tap_schema was created.)

4. Choose a database to expose with the TSM:

http://127.0.0.1:8080/tsm (password is ia2tap)

First edit the connection (click on the pen icon). And again set the
<dbUserName> <dbUserPassword> for the database access.
Then, TSM allows you to select the database which you want to expose.
You can configure which part (comlumns, tables etc) of the database to expose.
This information is stored inside a database - when you start tsm it asks you
what name should that database have. You must name it:

catdb_tap_schema .

This is the name which is expected by programs inside the docker-image.


5. Now you should be able to access your database remotely:

http://<your-external-IP-number>:8080/IA2TAP

user/password: ruia2tap/rpia2tap

6. To stop the container and remove it.

first find the container ID of the running instance:

docker ps -a

Note the ContainerId and then

docker stop <ContainerId>
docker rm <ContainerId>

Note : if you have done any changes to the running image, after 'docker rm'
the changes will be lost. If you want to preserve the changes you need to
commit first (see 'docker commit' command).