Docker Containers - Terminology Server with SNOMEDCT

This page describes the steps to launch WCI Terminology Server with mini version of SNOMEDCT 2014. The steps assume a user is running this locally on their computer.

 

Getting the Docker Images

> docker pull nmarques/wci_termserver:1.5.1

This may take a few minutes as there are several images to download.

 

Starting the Docker Container

Input

> docker run -p 8080:8080 nmarques/wci_termserver:1.5.1

Output if not running in background (-d)

Launch mysqld Starting MariaDB database server: mysqld .. Create database and user Load the data into the database Launch the server ..... more not shown

Open browser to http://localhost:8080/index.html.

 

Stopping the Docker Container

The container Id unique each time a the Docker Container is started.

 

The Dockerfile

 

All Docker container definitions begin with an existing definition. In this case, with openjdk:8-jdk.

Lines 6-9:

Install Apache Maven, MySQL, Tomcat webrunner,

Lines 11&12:

Pull code from GitHub and use Maven to build.

Lines 16-20:

File tsdb.sql is a dump file from a MySQL database used here to populate the database. Unzip Lucene index files and copy configuration files acronyms.txt, spelling.txtj and spelling indexes.

Lines 23-26:

Copy file create.sql creates the tsdb database adds a user and grants the user permissions to query the database. Copy file config.properties used by the application. Copy run.sh which starts mysqld, runs mysql command to create the database, runs mysql command to load the data from tsdb.sql and then lauches webapp-runner.jar.

 

 

Additional sources for Docker documentation.

https://docs.docker.com/

Docker glossary: https://docs.docker.com/glossary/

Docker for Windows: https://docs.docker.com/docker-for-windows/install/

Docker for Mac: https://docs.docker.com/docker-for-mac/install/

Docker for Linux: https://docs.docker.com/install/linux/docker-ce/ubuntu/

 

 

Know issues:

  1. After clicking Launch Browser you will get an error. This will not impact your search. Click in the 'X' in in the red rectangle box and the error message will disappear for this session. This will be fixed in the future.

  2. Clicking on the API link in the header will show a message “Can't read from server. It may not have the appropriate access-control-origin settings.” Please use https://snomed.terminology.tools/swagger.html to view the API or https://snomed.terminology.tools:443/swagger.json to import the API into Postman.