DevOps Quick Reference for Containerized XNATs
Access your Containerized XNAT in the browser at one of two addresses:
For XNATs running in Docker-Compose Containers, these commands can be run in a terminal shell directly in the xnat-docker-compose folder for your running XNAT
$ docker-compose up -d
Starts or restarts five containers necessary to run a Dockerized XNAT ML instance -- "xnat-web" (the web application), "xnat-db" (the PostgreSQL database), "xnat-traefik" (the network config layer), "xnat-activemq" (JMS messaging queue), and "xnat-orthanc" (PACS instance)
$ docker-compose down
Stops all running XNAT containers but does not delete XNAT data, which is stored locally
$ docker-compose down --rmi all
Stops all running XNAT containers AND deletes the associated images, but does not delete XNAT data, which is stored locally
XNAT Application Commands
For XNATs running in Docker-Compose, these commands are run from the xnat-docker-compose folder, not from inside an SSH terminal.
$ docker-compose stop xnat-web
Shuts down your Tomcat instance, which will bring down your running XNAT. Used when installing plugins or making changes to the XNAT application war file itself.
$ docker-compose start xnat-web
Starts your Tomcat instance, which will then attempt to launch the installed XNAT application from its war file.
$ docker-compose logs -f --tail=20 xnat-web
View the live results of the Catalina log as Tomcat starts and runs. Contains useful debugging information when starting or restarting the XNAT application.
$ docker-compose exec xnat-web bash
Opens a limited SSH connection to the XNAT webapp in Docker. (Note: does not support sudo)
Useful File System Paths
Note: Docker-Compose gives you local mounts to core XNAT files on your local file system. Each of these paths is relative to the location of your xnat-docker-compose directory. The relevant part of the docker-compose.yml file that maps local resources to resources inside the container is:
volumes:
- ./xnat-data/archive:/data/xnat/archive
- ./xnat-data/build:/data/xnat/build
- ./xnat-data/config:/data/xnat/home/config
- ./xnat-data/logs:/data/xnat/home/logs
- ./xnat-data/plugins:/data/xnat/home/plugins
- ./xnat-data/webapps:/usr/local/tomcat/webapps
- ./xnat-data/tomcat:/usr/local/tomcat/logs
- /var/run/docker.sock:/var/run/docker.sock
Specific resources are described below.
~/xnat-data/home
"XNAT Home". When you SSH into XNAT, this is your user's "~" home folder.
~/xnat-data/home/plugins
Installation location for XNAT Pipeline JAR files.
~/xnat-data/home/logs
Location of all XNAT-generated log files.
# /usr/local/tomcat/webapps
Location of your running XNAT application, accessible after opening a bash console to your xnat-web container. This will contain a directory that contains the exploded contents of the running war file. Most changes here require a Tomcat restart to take effect.