Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Docker
Sample
Test
.gitignore
Personal.xml
README.md
build.bat
copy.bat

README.md

Starcounter.Docker.Windows

This GitHub repository is the source code for creating the Windows Docker image starcounter/starcounter-2.3.2-windows, which may be used to run a Starcounter server inside of a Docker container. It only contains the Starcounter binaries and all third-party dependencies needed to run the server. Hence, it is up to the end-user to create the Starcounter server repository within the container or attach it as a volume. The image itself is based on the microsoft/windowsservercore image.

Prerequisites

Install Docker for Windows, make sure to switch to Windows containers.

Usage

By default, the Starcounter binary configuration file, Personal.xml, is referencing a server repository at C:\Starcounter\shared\Personal within the container. This may easily be overridden by setting the environment variable StarcounterDataDir to whatever path the end user desires.

The sample server repository may be used as a new clean server repository. Note that the Administrator Web UI is configured to be remotely accessible in order to access it from the host, Personal.server.config => <AllowRemoteAccess>true</AllowRemoteAccess>.

Starcounter binary folder (C:/Starcounter/Bin) and StarDump binary folder (C:/Starcounter/Bin/StarDump) has been added PATH inside the container, in order to make it easier to execute scripts.

Pull the image

Before running the container, the image needs to be locally built or pulled from the Starcounter Docker repository. You may pull it by executing

docker pull starcounter/starcounter-2.3.2-windows

To verify that you pulled the correct image, you can inspect it through

docker inspect starcounter/starcounter-2.3.2-windows

which will give you all the information you need in the Label section, about what Starcounter version it uses.

Run the docker container

The docker run command is used to run the container. The following options are of interest for running the starcounter/starcounter-2.3.2-windows image as a container:

  • --storage-opt "size=50GB": Container may use 50GB of disk space (default: 20GB)
  • -m 16g: Container may use 16GB of RAM
  • -p 8181:8181: Container port 8181 is published to host port 8181
    • by default, a Starcounter database uses port 8080
    • the Administrator Web UI uses port 8181 by default.
  • -e "StarcounterDataDir=C:/Starcounter/SomeOtherLocation/Personal": Setting environment variable StarcounterDataDir. May be used if the default location needs to be overridden, default: C:\Starcounter\shared\Personal
  • -v %~dp0HostServerData:C:/Starcounter/shared: Sharing volume between host and container

A complete docker run command for running the Starcounter docker container may look like (example):

docker run -it --storage-opt "size=50GB" --cpu-count 8 -m 16g -p 8080:8080 -p 8181:8181 ^
        -e "StarcounterDataDir=C:/Starcounter/shared/Personal" ^
        -v %~dp0HostServerData:C:/Starcounter/shared starcounter/starcounter-2.3.2-windows

Note that starcounter/starcounter-2.3.2-windows itself do not contain a CMD instruction or any other instruction which starts the server because it is up the end-user to attach the Starcounter server repository to the container. So please consider creating your own image which uses starcounter/starcounter-2.3.2-windows as a base image in order to streamline your workflow.

Build the image

It is easy to build the image, simply follow these steps.

  • Download the desired Starounter version from starcounter.io and install it on your local machine.
  • Run copy.bat which will use StarcounterBin environment variable to fetch the needed binaries, and replace the configuration file.
  • Build the image by running build.bat. This step executes the docker build command.

Test

There is a test image which uses starcounter/starcounter-2.3.2-windows as the base image that may be used for testing purposes. Simply build it and run it (for debugging it, run debug.bat).

By default, the image will

  • print some container information
  • start EntryRowApp application using default server repository
  • kill all starcounter processes
  • create new local server repository
  • start EntryRowApp application using the new local server repository
  • reset everything and start the server using default server repository

See test.bat for the complete test.

You can’t perform that action at this time.