devpod-provider-dockerless

command module
v0.0.1-alpha.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 18, 2023 License: MPL-2.0 Imports: 5 Imported by: 0

README

Dockerless Provider for DevPod

Dockerless provider is useful for situations where you don't have Docker or Podman installed, you're on Linux, and you still want to use Devcontainers.

Dockerless provider will use RootlessKit for rootless containers (and unshare in case you're already root) to create namespaces. It will use Crane to pull and manage images.

All dependencies are self-contained in the provider binary.

The target is to have simple, reasonably isolated and easy to use container alternatives, without external runtimes.

Useful use-cases, are easy nested containers or slim, no-deps images.

Getting started

The provider is available for auto-installation using

devpod provider add dockerless
devpod provider use dockerless

Follow the on-screen instructions to complete the setup.

Needed variables will be:

  • TARGET_DIR

TARGET_DIR is where all the images, containers and state are stored.

You only need to specify where you want all of the dockerless data will be stored.

Run it

After the initial setup, just use:

devpod up .

Run in a container

To run in a container, we need CAP_SYS_ADMIN (needed for the unshare, mount and pivot_root syscalls) To have custom networking we also need access to /dev/net/tun

We DO NOT require root A nice way to run it is:

docker run --rm -ti --cap-add CAP_SYS_ADMIN --device /dev/net/tun --user 1000:1000 build-alpine:latest

Using the image in the image folder.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
hack
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL