You are here

Thin-Client Based Developer Environment in Docker Containers

Okay, so we have a number of examples where bits and pieces of a thin client development environment have been mounted within Docker Containers.

LAMP using Docker Part I Installation of ICEcoder within Docker Adding a Browser-based Image Editor to ICEcoder

To tie it all together, we've added a web-based SVN client and wrapped it all with a shell script to build the environment for you.

Download the File Here.

The file includes the current version of ICEcoder v. 3.4, SVG-edit v. 2.6, and WebSVN v. 2.3.3.  What follows are the instructions for setting up your own containerized development environment.

CREATE THE CONTAINER

1) Install Docker.

1) Extract the tar ball and run the shell script (you will need to provide your password since Docker requires sudo).

    $ sh ./DockerDevEnv.sh

2) Make sure everything installed properly by verifying the images and containers:

    $ sudo docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
icecoder-svgedit-websvn latest d8e315a0742e 5 hours ago 246 MB
icecoder-svgedit latest 32d94e1f8812 5 hours ago 237.3 MB
icecoder latest 7cb07358697a 5 hours ago 230.8 MB
apache latest d59946178af3 5 hours ago 224.6 MB
ubuntu 12.04 8dbd9e392a96 8 months ago 128 MB
ubuntu latest 8dbd9e392a96 8 months ago 128 MB
ubuntu precise 8dbd9e392a96 8 months ago 128 MB
busybox latest e9aa60c60128 9 months ago 4.964 MB

    $ sudo docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dea603abfc1b icecoder-svgedit-websvn:latest /usr/sbin/apache2 -D 5 hours ago Up 5 hours 127.0.0.1:80->80/tcp cocky_galileo

If there isn't an entry for a running container, then run "sudo docker ps -a" so that all entries show.  If there is an Exit Code, then something went wrong and we'll need to look through the output from the install to see what happened.

IF EVERYTHING WENT WELL

Assuming your container is up and running, open a browser and go to http://localhost/icecoder.  Enter a password for your first access of ICEcoder.  Next, click on the ICEcoder settings icon at the top right of the screen.  At the top right of the Setting popup is the Plugins text entry box.  Scroll to the end of all the entries in the Plugins text box and add the following text:
====================
"SVG Editor","plugins/svg-edit/svg-edit.png","width:28px","../svg-edit/index.html","_blank",""
====================
"WebSVN","plugins/websvn/websvn.png","width:28px","../websvn/index.php","_blank",""
Click the Update button and refresh the screen.  You should now have two additional icons in the Tool Popup (move your cursor to the very far left of your screen for the Tool Popup to appear): SVG-Edit and WebSVN.  Click on the SVG-Edit icon to get a new window with a graphics editor.  Click on the WebSVN icon to get a new window with an SVN client (yes, there will be an error - we'll fix that next).

CONNECT TO YOUR SVN REPOSITORY

Inside of ICEcoder, open /[ROOT]/websvn/include/config.php for editing.  Starting around line 25, you'll need to find the relevant entries and update them to reflect your needs.  For example, my SVN repository is remote to my installation, so around line 90 I added and modified:

$config->addRepository('Development', 'svn://96.35.156.122/LUMINOUS/trunk', 'null', 'username', 'password');

Now, refresh your WebSVN window and you have a containerized development environment which can be dumped to a tar.gz (approx 80 MB) and copied around to the rest of your development staff or auto-deployed in a Docker server as users connect to your Thin Client Development Environment.  For example:

    $ sudo docker export nostalgic_bohr > /opt/DockerDevEnv.tar
    $ gzip /opt/DockerDevEnv.tar

 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer