NOTICE:
dedock
is highly experimental and should not be used in production environments. Expect rapid iteration and breaking changes.
dedock
is a container runtime, with a particular focus on enabling embedded
software development across all platforms. It supports native "containers" on
both Linux and macOS.
dedock
is not a container runtime in that it does not provide meaningful
isolation from a security perspective and is not compliant with the OCI Runtime
Specification. The primary
purpose of dedock
is to enable the distribution of portable development
environments. It does so by partially adopting OCI
images to distribute filesystem
bundles with tooling and dependencies pre-installed.
dedock
uses chroot(1)
on Linux and
macOS to isolate the filesystem of the "containers" it runs. Because no other
isolation is employed, executables in the filesystem run natively on the host
machine, meaning that there is no virtualization layer, even when running on
macOS. As such, separate images must be built for macOS (Darwin) and Linux.
dedock
is very much in the technical demo stage and should not be relied upon
for critical operations. The initial motivation for the project was to allow for
developers to build, flash, and debug software on embedded devices attached to a
host machine. As such, there are a number of defaults that would not make sense
for general usage, including always running with stdout
/ stdin
/ stdout
attached to a pseudoterminal and always mounting /dev
.
The future of the project is very much dependant on feedback from community
members, but the following goals are presently in scope for dedock
:
- Providing more options for configuration.
- Supporting rootless containers.
- Running on Windows.
- Maintaining a set of useful base images.
- Offering image build tooling.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.