Movatterモバイル変換


[0]ホーム

URL:


Dev containers

A Development Container is anopen-source specification fordefining containerized development environments which are also calleddevelopment containers (dev containers).

Dev containers provide developers with increased autonomy and control over theirCoder cloud development environments.

By using dev containers, developers can customize their workspaces with toolspre-approved by platform teams in registries likeJFrog Artifactory. This simplifiesworkflows, reduces the need for tickets and approvals, and promotes greaterindependence for developers.

Prerequisites

An administrator should construct or choose a base image and create a templatethat includes adevcontainer_builder image before a developer team configuresdev containers.

Benefits of devcontainers

There are several benefits to adding a dev container-compatible template toCoder:

  • Reliability through standardization
  • Scalability for growing teams
  • Improved security
  • Performance efficiency
  • Cost Optimization

Reliability through standardization

Use dev containers to empower development teams to personalize their ownenvironments while maintaining consistency and security through an approved andhardened base image.

Standardized environments ensure uniform behavior across machines and teammembers, eliminating "it works on my machine" issues and creating a stablefoundation for development and testing. Containerized setups reduce dependencyconflicts and misconfigurations, enhancing build stability.

Scalability for growing teams

Dev containers allow organizations to handle multiple projects and teamsefficiently.

You can leverage platforms like Kubernetes to allocate resources on demand,optimizing costs and ensuring fair distribution of quotas. Developer teams canuse efficient custom images and independently configure the contents of theirversion-controlled dev containers.

This approach allows organizations to scale seamlessly, reducing the maintenanceburden on the administrators that support diverse projects while allowingdevelopment teams to maintain their own images and onboard new users quickly.

Improved security

Since Coder and Envbuilder run on your own infrastructure, you can use firewallsand cluster-level policies to ensure Envbuilder only downloads packages fromyour secure registry powered by JFrog Artifactory or Sonatype Nexus.Additionally, Envbuilder can be configured to push the full image back to yourregistry for additional security scanning.

This means that Coder admins can require hardened base images and packages,while still allowing developer self-service.

Envbuilder runs inside a small container image but does not require a Dockerdaemon in order to build a dev container. This is useful in environments whereyou may not have access to a Docker socket for security reasons, but still needto work with a container.

Performance efficiency

Create a unique image for each project to reduce the dependency size of anygiven project.

Envbuilder has various caching modes to ensure workspaces start as fast aspossible, such as layer caching and even full image caching and fetching via theEnvbuilder Terraform provider.

Cost optimization

By creating unique images per-project, you remove unnecessary dependencies andreduce the workspace size and resource consumption of any given project. Fullimage caching ensures optimal start and stop times.

When to use a dev container

Dev containers are a good fit for developer teams who are familiar with Dockerand are already using containerized development environments. If you have alarge number of projects with different toolchains, dependencies, or that dependon a particular Linux distribution, dev containers make it easier to quicklyswitch between projects.

They may also be a great fit for more restricted environments where you may nothave access to a Docker daemon since it doesn't need one to work.

Devcontainer Features

Dev container Features allowowners of a project to specify self-contained units of code and runtimeconfiguration that can be composed together on top of an existing base image.This is a good place to install project-specific tools, such aslanguage-specific runtimes and compilers.

Coder Envbuilder

Envbuilder is an open-source projectmaintained by Coder that runs dev containers via Coder templates and yourunderlying infrastructure. Envbuilder can run on Docker or Kubernetes.

It is independently packaged and versioned from the centralized Coderopen-source project. This means that Envbuilder can be used with Coder, but itis not required. It also means that dev container builds can scale independentlyof the Coder control plane and even run within a CI/CD pipeline.

Next steps

On this page

[8]ページ先頭

©2009-2025 Movatter.jp