Skip to content

lucaspiffer16/devcontainers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dev Containers Toolkit

A lightweight toolkit for creating and running technology-specific development containers using Docker.

Instead of installing multiple runtimes and SDKs directly on your machine, this project allows you to spin up isolated development environments for different stacks.

The goal is simple:

  • keep the host system clean
  • standardize development environments
  • allow fast switching between tech stacks

Currently supported:

  • Flutter (Android SDK included)

Planned:

  • Node.js
  • Golang
  • Rust

Repository Structure

docker/
  Dockerfile.flutter

scripts/
  development_container.sh

Each technology has its own Dockerfile:

Dockerfile.<technology>

Examples:

Dockerfile.flutter
Dockerfile.node
Dockerfile.golang

Requirements

  • Docker
  • Git
  • Linux or macOS

Installation

Clone the repository:

git clone https://github.com/lucaspiffer16/devcontainers.git
cd devcontainers

Load the helper functions:

source scripts/development_container.sh

Optional: automatically load them in your shell

echo "source /path/to/devcontainers/scripts/development_container.sh" >> ~/.zshrc

Build a Development Image

dcb <image_name> <technology>

Example:

dcb flutter_dev flutter

This will build an image using:

docker/Dockerfile.flutter

Run a Development Container

Inside your project directory:

dcr <container_name> [image_name]

Example:

dcr my_flutter_project flutter_dev

This will:

  • mount the current directory into /workspace
  • enable SSH agent forwarding
  • expose SSH on port 2222
  • allow USB access when needed

Access the Container

You can connect via SSH:

ssh flutter@localhost -p 2222

Default password:

root

How to Add a New Technology

  1. Create a new Dockerfile:
docker/Dockerfile.<technology>

Example:

docker/Dockerfile.node
docker/Dockerfile.golang
  1. Build the image:
dcb node_dev node
  1. Run a container:
dcr my_node_project node_dev

Security Note

Containers run with --privileged to allow advanced development workflows (e.g., USB debugging for Android devices).

This setup is intended for local development only.


License

MIT

About

Toolkit for building and running technology-specific development containers with Docker.

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages