features VS templates

Compare features vs templates and see what are their differences.

features

A collection of Dev Container Features managed by Dev Container spec maintainers. See https://github.com/devcontainers/feature-starter to publish your own (by devcontainers)

templates

Repository for Dev Container Templates that are managed by Dev Container spec maintainers. See https://github.com/devcontainers/template-starter to create your own! (by devcontainers)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
features templates
7 12
749 783
7.2% 7.7%
9.0 7.6
about 23 hours ago 25 days ago
Shell Shell
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

features

Posts with mentions or reviews of features. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-30.
  • Dev Containers: Open, Develop, Repeat...
    9 projects | dev.to | 30 Oct 2023
    Dev Containers not only allow you to define which extensions should be installed and which configuration settings shall be set, but they also have something they call "Dev Container Features".
  • Unable to Change Workspace Folder Permissions (777 to 775) in WSL VSCode Devcontainer
    1 project | /r/vscode | 30 Sep 2023
    json { "name": "Ubuntu", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/base:ubuntu", "features": { "ghcr.io/devcontainers/features/terraform": "latest", "ghcr.io/devcontainers/features/powershell": "latest", "ghcr.io/devcontainers/features/azure-cli": "latest" }, // Features to add to the dev container. More info: https://containers.dev/features. // "features": {}, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. // "postStartCommand": "uname -a", // "postCreateCommand": "sudo apt update; sudo apt upgrade -y;", "postAttachCommand": { "git-safe-directory": "git config --global --add safe.directory ${containerWorkspaceFolder}", "ansible_cfg_permissions": "sudo chmod o-w ${containerWorkspaceFolder}" }, "postCreateCommand": { "python": "sudo apt update; sudo apt upgrade -y; sudo apt install -y python3-pip postgresql-client; sudo python3 -m pip install --upgrade pip; pip3 install ansible python-hcl2 psycopg2-binary; ansible-galaxy collection install azure.azcollection", "populate-history": "echo 'ansible-playbook ansible/playbooks/netbox.yml' >> ~/.bash_history; echo 'terraform apply' >> ~/.bash_history; echo 'az login' >> ~/.bash_history" }, // Configure tool-specific properties. // "customizations": {}, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" "customizations": { "vscode": { "extensions": [ "GitHub.copilot", "GitHub.copilot-labs", "GitHub.vscode-pull-request-github", "redhat.ansible", "hashicorp.terraform", "ms-toolsai.jupyter", "ms-vscode.powershell", "HashiCorp.terraform", "eamodio.gitlens", "GitHub.copilot-chat" ] } } }
  • Take your development environment anywhere and on any machine with Dev Containers.
    3 projects | dev.to | 31 Dec 2022
    there are already built docker images for common development environment. You can either use one of them, or build one from Docker file. Using a pre-built dev container doesn't mean you are only limited to that image, because you can still add other tools, which they are called features to that image. For a list of the pre-built templates check here, and for the other features that you can add check this. You don't need a Docker file, unless you want to build your dev environment step by step.
  • VSCode & GitHub Codespaces for my Python playground
    2 projects | dev.to | 10 Dec 2022
    // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/python { "name": "Python 3", "image": "mcr.microsoft.com/devcontainers/python:0-3.11", "features": { "ghcr.io/devcontainers/features/python:1": {} } // Features to add to the dev container. More info: https://containers.dev/features. // "features": {}, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. // "postCreateCommand": "pip3 install --user -r requirements.txt", // Configure tool-specific properties. // "customizations": {}, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" }
  • Containerizing devops tools with docker compose
    2 projects | /r/devops | 30 Nov 2022
    This is actually very easy. I've implemented a number of tools like this publicly but the standard doesn't limit you to public stuff. I can't emphasize enough the amount of speed we gained when we implemented this standard. https://containers.dev/features
  • DevContainers for Azure and .NET
    12 projects | dev.to | 13 Oct 2022
    features: While you can add everything in Dockerfile for the build, there are already pre-configured features you can optionally add. You can find the complete list of the features at here. Some examples of those features are common utilities and tools like Azure CLI, GitHub CLI and Terraform, and languages like node.js, Java, .NET, Python, etc.

templates

Posts with mentions or reviews of templates. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-13.
  • Creating a movie finder app with Streamlit and OMDb API
    1 project | dev.to | 27 Nov 2023
    // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/python { "name": "Python 3", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/python:1-3.11-bullseye", "customizations": { "codespaces": { "openFiles": [ "README.md", "streamlit_app.py" ] }, "vscode": { "settings": {}, "extensions": [ "ms-python.python", "ms-python.vscode-pylance" ] } }, "updateContentCommand": "[ -f packages.txt ] && sudo apt update && sudo apt upgrade && sudo xargs apt install -y
  • Microsoft Docker Development Container Templates
    8 projects | news.ycombinator.com | 13 Aug 2023
    Ooo, they have one for rails + postgres!

    https://github.com/devcontainers/templates/tree/main/src/rub...

  • .devcontainer Containerized environment workflow
    1 project | /r/docker | 17 Jun 2023
  • ChatGPT Meets GitHub Codespaces: How I'm Optimizing ChatGPT Quickstart Plugins for Remote Development
    2 projects | dev.to | 8 May 2023
    // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/python { "name": "Python 3", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/python:0-3.11-bullseye", "features": { "ghcr.io/devcontainers-contrib/features/coverage-py:2": {} } // Features to add to the dev container. More info: https://containers.dev/features. // "features": {}, // Use 'forwardPorts' to make a list of ports inside the container available locally. "forwardPorts": [5003], // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "pip install -r requirements.txt", "postAttachCommand": ".devcontainer/addcodespacename.sh && python main.py", // Configure tool-specific properties. "customizations": { "codespaces": { "openFiles": [ ".well-known/ai-plugin.json", "openapi.yaml" ] } } } // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" }
  • GitHub + Dev Hackathon 2023 - Self-hosted Azure Pipelines Agent Codespace/Dev Container
    3 projects | dev.to | 8 May 2023
  • How to Build a Kafka Producer in Rust with Partitioning
    5 projects | dev.to | 3 Mar 2023
    $ cd tracing_publisher $ mkdir .devcontainer $ cat > .devcontainer/devcontainer.json // For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/rust { "name": "Rust", "service": "rust-log-processing", "dockerComposeFile": "../docker-compose.yml", "features": { "ghcr.io/devcontainers/features/rust:1": {} }, "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", "shutdownAction": "stopCompose" }
  • Run self-hosted GitHub runners on GitHub Codespaces (Video Tutorial)
    1 project | dev.to | 5 Feb 2023
    Based on a previous blog post, this devcontainer is now publicly available as a template for anyone to use at Dev Container Templates and integrated with publicly available Codespace images.
  • How to get the best Conda environment experience in Codespaces
    5 projects | dev.to | 30 Jan 2023
    When you start a Codespace for a project, it will try to use whatever Dev Container you have specified in your repo, else it will try to use a kitchen sink container. That default kitchen sink is can be way too much and so if you will be working with Conda environments with an Anaconda or Miniconda Dev Container template instead.
  • Configure Python Formatter and Linter for a VSCode Dev Container
    2 projects | dev.to | 10 Jan 2023
    This example uses the Docker in Docker dev container. There are others that may suit you better, feel free to customize to your needs. This example doesn’t rely on the exact type of dev container used.
  • Take your development environment anywhere and on any machine with Dev Containers.
    3 projects | dev.to | 31 Dec 2022
    there are already built docker images for common development environment. You can either use one of them, or build one from Docker file. Using a pre-built dev container doesn't mean you are only limited to that image, because you can still add other tools, which they are called features to that image. For a list of the pre-built templates check here, and for the other features that you can add check this. You don't need a Docker file, unless you want to build your dev environment step by step.

What are some alternatives?

When comparing features and templates you can also consider the following projects:

spec - Development Containers: Use a container as a full-featured development environment.

kcat - Generic command line non-JVM Apache Kafka producer and consumer

devcontainers-dotnet.

features - A collection of development container 'features' for machine learning and data science

images - Repository for pre-built dev container images published under mcr.microsoft.com/devcontainers

conda-devcontainer-demo - Mini Conda + Mamba dev container setup to make working with environments easy.

asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more

tracing-blog-post - Example code for a blog post about tracing

zsh-autosuggestions - Fish-like autosuggestions for zsh

tracing - Application level tracing for Rust.

omnisharp-vscode - Official C# support for Visual Studio Code [Moved to: https://github.com/dotnet/vscode-csharp]

docked - Running Rails from Docker for easy start to development