How to create a Docker Container with RTC 5.0.2

Based on the great work of Chris McGee found at jazzhub I tried to put RTC 5.0.2 in a Docker Container. It worked and I used this example to get familiar with Docker.

Before you start please keep in mind that Docker only runs on Linux, I use Ubuntu 14.04 LTS.

  • Download the RTC ZIP file with RTC 5.0.2 from jazz.net
  • Get the files from jazzhub and put them in a Linux directory like /docker/rtc
  • Unzip RTC to /docker/rtc/ccmserver
  • Run the Docker build process “docker build -t steve/teamconcert .” and name the Container like steve/teamconcert (or wathever you want).
  • The “docker build…” use the Dockerfile
  • Start the Docker RTC Container with “docker run -it -p 9443:9443 steve/teamconcert”…
  • …or interactive “docker run -it -p 9443:9443 steve/teamconcert /bin/bash”
  • Shutdown RTC with “docker exec -it 4b8975053099 /docker-shutdown.sh” (use docker ps to get the ID). To use “docker exec…” you need Docker >1.4
  • Access the RTC Server Webinterface with https://localhost:9443/ccm
  • Access the running Docker Container with “docker exec -it 2ef85e96dea6 /bin/bash”

Making Docker Changes persistent

As described here (german) and here (english) you can’t change the Docker Image, all changes take place in the Docker Container. It means when you restart the Docker Image everything is as before. Maybe you want this behaviour, because you want to restart with a clean Testenvironmet. If not, you need to transfer the actual Container to a new Docker Image.

  • Type “docker ps” or “docker ps -a” to get the Docker Container ID like e267be9507c3
  • Create a new Image with “docker commit e267be9507c3 steve/rtc:502”
  • When you try to start the new Image with “docker run -it -p 9443:9443 steve/rtc” you get a message “Error: image steve/rtc:latest not found”, because there is no lable “latest”. Solution…put the label “502” at the end like “docker run -it -p 9443:9443 steve/rtc:502”

Moving a Docker Image

I moved (with the help of a USB Stick) the resulting RTC Container (1 GB) from one PC to another Linux PC and use it without problem.

PC1 with Docker 1.0.1

  • docker save steve/rtc >  ‘/media/steve/CORSAIR/stevetc.tar’

PC2 with Docker 1.4.1

  • docker load < ‘/media/steve/CORSAIR/stevetc.tar’

,

  1. #1 by tommywu on 24/12/2014 - 03:10

    cool

  2. #2 by tommywu on 25/12/2014 - 09:49

    I follow your steps and fail to run in docker , it show :
    docker@boot2docker:~/rtc$ docker run -it -p 9443:9443 tommy/teamconcert
    /ccmserver/server/tomcat/bin/catalina.sh: 1: exec: /ccmserver/server/jre/bin/jav
    a: not found

    Any idea ?

    • #3 by rtcpractise on 26/12/2014 - 08:57

      Hi Tommy,
      could you open a shell with “docker run -it -p 9443:9443 tommy/teamconcert /bin/bash” and start the RTC Server manually with “/ccmserver/server/server.startup”? It may take a while and then you should connect to RTC with https://localhost:9443/ccm.

      • #4 by tommywu on 26/12/2014 - 11:31

        hi steve : thanks for your reply , I have done it successfully after download the rtc 64bit version, not 32bit version. since ubuntu(64bit) did not support java (32bit) or you have to get sudo apt-get install gcc-multilib to pass it. it’s quite cool !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: