firecracker-container
rchab
firecracker-container | rchab | |
---|---|---|
5 | 2 | |
- | 44 | |
- | - | |
- | 7.0 | |
- | 5 months ago | |
Go | ||
- | - |
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.
firecracker-container
- My VM is lighter (and safer) than your container
-
Firecracker internals: deep dive inside the technology powering AWS Lambda(2021)
There is this project, which I have never used, but seems promising. https://github.com/firecracker-microvm/firecracker-container...
-
Firecracker MicroVMs
How does that compare to firecracker-containerd?
https://github.com/firecracker-microvm/firecracker-container...
This repository enables the use of a container runtime, containerd, to manage Firecracker microVMs. Like traditional containers, Firecracker microVMs offer fast start-up and shut-down and minimal overhead. Unlike traditional containers, however, they can provide an additional layer of isolation via the KVM hypervisor.
- Docker Without Docker
rchab
-
Re-using Dockerfile.base with your Fly.io deployments
#!/bin/bash # TODO(P1, blog): Write down my experience building this for fly.io # Usage deploy_batch_job.sh scraper/fly.toml FLY_CONFIG_PATH=$1 # Set variables BASE_DOCKERFILE="/Dockerfile.base" # Here `-base-registry` is a dummy app on fly.io which is just used for storing base docker images. # You can create such a dummy app by `fly apps create $REGISTRY_DUMMY_APP_NAME` REGISTRY_DUMMY_APP_NAME="-base-registry" IMAGE_NAME="registry.fly.io/$REGISTRY_DUMMY_APP_NAME" # we do --platform linux/amd64 to match the one fly.io builders have # https://github.com/superfly/rchab/blob/8d37d90dc7d418660b50a10f288715fda4a00b5d/build.sh#L7 PLATFORM="linux/amd64" echo "Logging into fly.io registry" # Authentication successful. You can now tag and push images to registry.fly.io/{your-app} fly auth docker echo "Building batch jobs base image $DOCKERFILE ($PLATFORM) to {$IMAGE_NAME}" # Build the image locally docker build --platform $PLATFORM -t $IMAGE_NAME:latest -f $DOCKERFILE . # Get the image ID (content hash), removing the "sha256:" prefix as a IMAGE_ID=$(docker inspect --format='{{.Id}}' $IMAGE_NAME:latest | cut -d: -f2) echo "Image ID: $IMAGE_ID (content hash)" FULL_IMAGE_NAME="$IMAGE_NAME:$IMAGE_ID" # Tag the image with its content hash docker tag $IMAGE_NAME:latest $FULL_IMAGE_NAME # Check if the image already exists in the registry if docker manifest inspect $FULL_IMAGE_NAME > /dev/null 2>&1; then echo "Image $FULL_IMAGE_NAME" echo " -- already exists in the registry." echo " -- Skipping push." else echo "Pushing new image $FULL_IMAGE_NAME to the registry." docker push $IMAGE_NAME:$IMAGE_ID docker push $IMAGE_NAME:latest fi echo "Deploying the batch job $FLY_CONFIG_PATH" # To debug problems with Fly.io app builders you can find them at https://fly.io/dashboard//builders # or with CLI fly logs -a fly-builder- (get it from logs) fly deploy --config $FLY_CONFIG_PATH
-
Docker Without Docker
Our remote builders are just fly apps based on this image with an auth proxy in front. Works great https://github.com/superfly/rchab
What are some alternatives?
lxd - Powerful system container and virtual machine manager [Moved to: https://github.com/canonical/lxd]
phoenix-liveview-cluster - LiveView in a global cluster.
kata-containers - Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs. https://katacontainers.io/
garden-shed - Volume management for linux garden backends
ignite - Ignite a Firecracker microVM
simplenetes - The sns tool is used to manage the full life cycle of your Simplenetes clusters. It integrates with the Simplenetes Podcompiler project podc to compile pods.
kubevirt - Kubernetes Virtualization API and runtime in order to define and manage virtual machines.
documentation - Kata Containers version 1.x documentation (for version 2.x see https://github.com/kata-containers/kata-containers).
linuxkit - A toolkit for building secure, portable and lean operating systems for containers
lxd - Powerful system container and virtual machine manager
firebuild - Convenience of containers, security of virtual machines