Skip to content

Experiment with using devcontainers tooling to create production Docker container images #651

Open
@mscottford

Description

@mscottford

There are some current challenges with creating production Docker container images:

  • As the number of language agents grows, there become more container images that should be created
  • There is no standard mechanism to use chunks of instructions in a Dockerfile and compose Dockerfiles from these chunks

The devcontainers "features" could help solve this problem:

  • Each feature is a self-contained set of shell scripts and associated metadata
  • Features can be applied to a base container image in any order
  • Running devcontainer build creates a container image that can be published or run just like any other container

A "feature" has already been created that installs freshli-agent-java into a devcontainer. This "feature" could be used as a basis for building a production container image as well.

Using devcontainers "features" could also make the logic for building a production Docker container more maintainable.

  • Each "feature" has the ability to define other features that it depends on.
  • There are published "features" that already install some of the tools that we require in a production container, such as a JDK and Maven.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-opsUpdates to the CI, build, etc.

    Type

    No type

    Projects

    Status

    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions