Skip to content

Docker Development

samatstarion edited this page May 13, 2026 · 1 revision

Docker based development

This repository includes a handy script to run the webservices in a dockerized fashion. This is intended for development use. The script makes a release build of the source code, creates an image, pulls the latest database image and fires up the containers in a linked fashion.

Prerequisites

MSBuild should be available through command line on your system. If you have Visual Studio installed this means you simply need to add a path to it (e.g. C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin) to your user Environmental Variables.

You can also have standalone msbuild installed if you dont have Visual Studio for ease of use from here: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 Make sure to install .NET Desktop Build Tools when presented with the choice.

Add the tool installation path (e.g. C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin) to your PATH environment variable, and restart your command line.

Usage

To compose the containers use the provided compose.bat file in a cmd environment like so:

C:\path\to\CDP4-WebServices-Community-Edition>compose.bat [command]

Available commands:

  • build - (default) builds the solution, creates the images and runs the containers.
  • strt - starts the containers if they already have been run and stopped.
  • stp - stops the running containers without removing them.
  • up - runs containers without rebuilding them.
  • down - stops and removes the containers. Volume information is not lost.
  • reboot - performs the down and up commands in sequence.
  • rebuild - performs the down and rebuild commands in sequence.
  • nginx - builds the latest from solution and launches it behind an nginx container with basic setup. The services are accessible through http://localhost:8088 and no longer through port 5000.
  • nginxdown - stops and removes all containers in the nginx configuration.

For Developers

Runs only the database, webservices should be running alongside in e.g. Visual Studio

  • dev - Spins up database only.
  • devbg - Same as dev but the container is run in background mode.
  • devdown - stops and removes the container. Volume information is not lost.

For Testing

Runs only the bare database, webservices should be running alongside in e.g. Visual Studio. To be used to execute ecss-10-25-annexc-integration-tests

  • devtest - Spins up bare database only.
  • devtestbg - Same as devtest but the container is run in background mode.
  • devtestdown - stops and removes the container. Volume information is not lost.

To verify that the services are running navigate to localhost:5000/SiteDirectory you should be prompted for standard credentials which are admin/pass.

Development and Test Docker Compose

The easiest way to deploy the CDP4-COMET backend (Database, MessageBroker) is to make use of Docker-Compose. We provide a Docker Compose files for development and testing:

  • Development: deployment used while developing the CDP4-COMET Application Server. This includes a PostgreSQL database and a RabbitMQ message broker. It uses volumes for storing data and logs.

Clone this wiki locally