Public | Automated Build

Last pushed: 7 days ago
Short Description
Canmet's development environment
Full Description

BTAP Development Environment

This image, is based upon the NREL's nrel/openstudio docker container. It contains a consistent development environment that runs the latests versions of OpenStudio and E+.This also allows NRCan staff to write helper scripts based on this environment. This environment will allow you to do a few things, create all the NECB archetype, run analysis on OS server cluster, generate geometery from eQuest files, add archetypes to our development and other things.


  • Windows 7+ 64 bit with a modern >=i5 computer with >=8GB RAM recommended
  • Enabling virutalization in your BIO (Instructions here) If you have an HP Z system like a lot of NRCan people do Enable Virtualization Technology (VTx) option when you boot your system. Hit F10 when you start your computer. In setup under Security > System Security Menu enable all VTx options. Note:Every Computer BIOS is different. It may be under advaced. Please refer to your bios manual for specific details.. Turn all virtual switch on to be consistant if there are more than one.
  • Admin rights
  • Install Docker Toolbox for Windows
  • Install Xming v6 X11 server Note: If you wish to use electron applications like Slack, Visual Studio Code, you will need the donation version of Xming v7.7+

Creating a Workspace in 5 Steps

Step 0 Clone Repository

  1. Launch the Docker Quickstart Terminal (as seen in install instructions)
  2. Make a projects folder in your C:\Users\username folder then go into it.
    mkdir /c/Users/$(whoami)/projects && cd /c/Users/$(whoami)/projects
  3. Clone this rep and then enter that folder.
    git clone && cd btap-development-environment

Step 1 Ensure your Environment is Clean

This will erase ALL of your previous containers and download a freash new copy of the BTAP-DE. Careful this will erase all your previous images and containers and start fresh. It will not delete anything in your regular windows folders.

cd /c/Users/$(whoami)/projects/btap-development-environment && ./

Step 2 Create The Docker BTAP-DE Image

This will create the Docker Image used for development. This may take a long time to pull. At BCC this may take up to 4 hours, so you may wish to use the alternative for CanmetEnergy Staff. Be patient as this will take a long time.

cd /c/Users/$(whoami)/projects/btap-development-environment && ./

Step 2 Alternative: Fast Method for CANMET Staff

BCC has very slow internet speed. To speed up very long download times, a version of the phylroy/btap-development-environment will be kept on the network drive. The above is the preferred method, but this is faster, but may not be always up to date. This should take 10-15 minutes.

cd /c/Users/$(whoami)/projects/btap-development-environment && ./

Step 3 Create a workspace container

This will create a container that you can do development in. You can create many containers based on the image that we created above. We will call this container my_workspace

cd /c/Users/$(whoami)/projects/btap-development-environment && ./ my_workspace

Step 4 Start Your Container

You can now just start your container by your container name, in this case it is my_workspace

cd /c/Users/$(whoami)/projects/btap-development-environment && ./ my_workspace

Basic Usage

After you start the container, your bash prompt should change to reflect that you are 'in' the container. To start a nice x terminal, type:


This will start the terminator terminal. This is your X terminal called 'terminator this where you can execute linux commands. There are numerous tutorials on the linux console that we will not go into here.

Windows Interop

The container was set up to be linked to your C:\User\<your windows username> folder on windows. If you perform a directory listing "ls -l" and hit enter you should see a listing of files and folders. One of these folders is called 'windows-host' this is your shared folder to windows. If you ls that directory, you should see your host windows user folders. The neat thing is that you can interact with that folder like it was a mounted drive. You cannot access your full windows systems the way the container is currently implemented.


OpenStudio is installed in the image, and the default ruby implemenation is linked to OpenStudio as well, so you can run ruby scripts easiy. You may also run OpenStudio by typing the following at the command prompt. The OpenStudio version is the release version.

OpenStudioApp &

OpenStudio CLI

You can run the openstudio cli by running


EnergyPlus is also available as



The R language is also installed with some common NREL plugings used for buildings.


Node JS is installed and npm.

Sqlite with json support is installed.


Originally I added Netbeans and VSCode to the image. This took too much effort to maintain and made the image large.

nano and vim

Nano, Vim and XEmacs have been installed by default. If you wish to install other editors.

Git Shortcuts for development

To checkout copies of development and make things a bit easier (in your ~/.gitconfig file)
os = clone
os-standards = clone
os-ptool =clone
os-measures = clone
os-spreadsheet =
nrcan-ptool = clone
nrcan-standards = clone -b nrcan
nrcan-measures = clone -b nrcan
So to clone the nrcan-standards branch, you simply type.

git nrcan-standards


You see curl failures when building image indicating network certificate failures.

This can be due to network conflicts. This has been observed on Docker for Windows v1.12.3. One solution found was to change the mtu value to something lower in the docker host container. You can add this by opening the Docker setting from the tray icon, going to the Docker Deamon tab and add the MTU value like below

  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": false,
  "mtu": 1400

I only have ~20GB of space in my docker machine..I need more!

The best way to deal with this is to delete the default docker machine and create a new one with the correct size. This procudure will delete all your images and back up anything that you need! This will create a 100GB disk. This procudure works only for Docker Toolbox and in the QuickStart Terminal.

docker-machine rm default
docker-machine create --driver virtualbox --virtualbox-disk-size "100000" default
docker-machine env default
Docker Pull Command