ch

🐳 💻 ch is a tool for using containers as dev environments

View the Project on GitHub camerondurham/ch

ch container helper


ch is a command-line interface for using Docker containers as development environment. The tool provides a simple Docker interface to manage multiple containerized development environments. Like the docker exec -it, the CLI has a shell environment. This was designed to generalize how we develop C++ code in CSCI 104 to be portable enough to use whichever Docker container you choose. Of course, this project would not be possible without the reference of docker/cli which is how I learned how to use the Docker Engine API.

What is this?

What’s the use case for this tool? Good question! This tool is designed to make it easier to use a specific, isolated development environment. For classes such as CSCI 104 (Data Structures and Algorithms) and CSCI 350 (Operating Systems) at USC, the legacy way of writing code in the class was using a large VM image inside Virtual Box, or if you’re lucky, VMWare. A more efficient and arguably smoother workflow involves setting using a Docker container with the class’s compilers and development tools installed. ch offers a consistent interface to configure and access these environments. See below for the commands to create environments for these classes.

Getting Started

See the getting started to install and setup ch.

Documentation

See the docs to install.