Skip to content

Load balanced docker deployment of DICOM CStore service using DCM4CHEE

License

Notifications You must be signed in to change notification settings

madhub/dicomservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker based Dicom CStore Service

This project demonstrate load balanced Docker deployment of DICOM CStore service.

Overview

DICOM CStore service implemented using DCM4CHEE Java library. Service is deployed inside Docker and instances are scaled and load balanced using nginx.

img.png

Build requirements

  • Java 17 or higher
  • Functioning Docker setup

Build instructions - Using multistage docker build

  • Checkout repository
     git clone https://github.com/madhub/dicomservices.git
  • Change to cstoreservice directory
     cd cstoreservice
  • Invoke multistage build
    docker build -t dicomdemos/dicomstorescp:1.0 -f Dockerfile-multistage .    ```
    

Regular Build instructions

  • Checkout repository
     git clone https://github.com/madhub/dicomservices.git
  • Change to cstoreservice directory
     cd cstoreservice
  • Build fat jar
    gradlew.bat clean jar
  • Build Docker image
    docker build -t dicomdemos/dicomstorescp:1.0 . 
  • Confirm Docker image is created successfully
    docker images

Deploying service into Docker

Service is deployed using docker-compose with nginx load balancing DICOM assoication across instances. By default nginx port 4040 published to host. Port 4040 used for all DICOM communications

  • Change to deployment\docker directory
   docker-compose up --scale dicomstorescp=3 

About

Load balanced docker deployment of DICOM CStore service using DCM4CHEE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published