{"id":13464933,"url":"https://github.com/docker-archive/dockerlite","last_synced_at":"2025-03-25T12:33:17.550Z","repository":{"id":8287916,"uuid":"9826451","full_name":"docker-archive/dockerlite","owner":"docker-archive","description":"Lightweight virtualization system based on LXC and BTRFS. See dotcloud/docker.","archived":true,"fork":false,"pushed_at":"2019-07-16T10:41:27.000Z","size":27,"stargazers_count":495,"open_issues_count":0,"forks_count":67,"subscribers_count":42,"default_branch":"master","last_synced_at":"2024-07-31T14:10:18.388Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/docker-archive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-03T01:44:32.000Z","updated_at":"2024-07-07T21:50:11.000Z","dependencies_parsed_at":"2022-08-07T01:15:21.445Z","dependency_job_id":null,"html_url":"https://github.com/docker-archive/dockerlite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker-archive%2Fdockerlite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker-archive%2Fdockerlite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker-archive%2Fdockerlite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docker-archive%2Fdockerlite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/docker-archive","download_url":"https://codeload.github.com/docker-archive/dockerlite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245463054,"owners_count":20619603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T14:00:53.026Z","updated_at":"2025-03-25T12:33:17.243Z","avatar_url":"https://github.com/docker-archive.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Dockerlite: lightweight Linux virtualization with BTRFS and LXC\n\nDockerlite lets you run Linux apps in lightweight, isolated environments,\nusing LXC (Linux Containers). It is inspired by [Docker](http://www.docker.io/)\nand it actually reimplements some of its most basic features.\n\nUsing BTRFS snapshots, `dockerlite` can save the state of a given environment\nin a frozen \"image\", and later, create more environments (\"containers\") out\nof that image.\n\nIt was inspired by [Docker](https://www.docker.io/), and aims at being\na sandbox to experiment new concepts linked with the Docker project.\n\nIt is **not** a replacement for Docker. It is **missing** (at least)\nthe following features:\n- registry protocol (i.e. it is not possible to push/pull images)\n- index protocol (i.e. it is not possible to search images)\n- REST API (i.e. the only way to use Dockerlite is through the CLI)\n- Dockerfile (i.e. you cannot `dockerlite build`)\n- and many more.\n\nIts main feature is `HACKABILITY: 9000` since it's shell, and everybody\nincluding your dog can write shell scripts, right?\n\n\n## Installation\n\nSee [INSTALL.md](INSTALL.md).\n\n\n## How to use it\n\nSee [MANUAL.md](MANUAL.md).\n\n\n## What's \"lightweight\" virtualization?\n\nA Linux container looks like a virtual machine: it has its own network stack,\nIP address, process space; it is isolated from its sibling containers (it can't\nsee them and can't be seen by them). However, it runs on top of the same\nkernel as its host. This means that if your machine runs Linux 3.8, all\ncontainers on this machine will also run Linux 3.8. You cannot run another\nkernel (or another OS) within a container. Of course, you could run a full\nvirtual machine within qemu or kvm within a container, but that's a different\nstory!\n\n\n## Where the name `dockerlite` comes from?\n\n`dockerlite` is a \"light\" version of [Docker](/dotcloud/docker).\nThe latter has similar features, but with the following major differences:\n- Docker is written in Go, while `dockerlite` is a Posix Shell script;\n- Docker storage relies on AUFS, while `dockerlite` uses BTRFS;\n- Docker runs as a background daemon, and is operated through a CLI\n  client, while `dockerlite` does not run in the background.\n\nDocker also has some extra features to store images in 3rd party services.\n\n\n## Why `dockerlite`?\n\n`dockerlite` initially targetted the following goals:\n- demonstrate that the core features provided by Docker can be easily\n  reimplemented with simple, easy-to-audit, shell scripts;\n- provide an alternative implementation to Docker, with a strong emphasis\n  on \"hackability\", i.e. a lightweight testbed for new features which can\n  be more cumbersome to implement in a full-blown Go project;\n- evaluate BTRFS in the context of Docker.\n\nThe first goal is loosely defined, depending on what you want to put in\nthe \"core features\" of Docker. If you just want to create images and\ncontainers, then \"misson complete\". If you want to push/pull and use\na REST API, it's a long shot.\n\nThe other goals were met. Dockerlite confirmed that BTRFS was an acceptable\noption and that there were no unplanned side-effect or shotstopper\npreventing its use for Docker containers. It also served to evaluate\ndifferent ways to setup the containers networking stack.\n\n\n## License\n\nApache 2 License\n\nFor JSON.sh license, see https://github.com/dominictarr/JSON.sh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocker-archive%2Fdockerlite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdocker-archive%2Fdockerlite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocker-archive%2Fdockerlite/lists"}