I've tried docker today, and it's pretty useful for sharing a development environment.

docker is an open source project to pack, ship and run any application as a lightweight container.

Docker allows me to build a complete environment using just a single command (and a makefile), and mounts a host folder into the guest, and then allocates a tty for interaction.

The ATS docker image gives you a complete ATS environment in Ubuntu. make build will build the image for you, and then make run starts it. The starting process will mount your pwd (host) into /root/workspace (guest) and allocate a tty so that you can interact with the guest. After you've done with ATS, just exit.


You will need docker to run the ATS docker image. An official installation guide can be found here.

Also, please download the ATS docker image Dockerfile and Makefile from my Gist.


cd [your ATS docker image folder]
make build

This will build the docker image atsimg for you. Now, switch to your working directory where you store ATS files.

make run

and you will now enter the tty of guest. Your guest working directory is /root/workspace/ which is a mapping of your host pwd, ATS is installed in guest /root/ats2. In order to use ATS in the guest, please

source /root/env.sh

The guest is a complete Ubuntu environment, you can install your favorite editor as you wish.

apt-get install vim

If you've done editing, use

patscc ...

to compile your program. And


to exit from the guest.

Source Code