1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/vendor/github.com
Cory Snider 547da0d575 daemon: support other containerd runtimes (MVP)
Contrary to popular belief, the OCI Runtime specification does not
specify the command-line API for runtimes. Looking at containerd's
architecture from the lens of the OCI Runtime spec, the _shim_ is the
OCI Runtime and runC is "just" an implementation detail of the
io.containerd.runc.v2 runtime. When one configures a non-default runtime
in Docker, what they're really doing is instructing Docker to create
containers using the io.containerd.runc.v2 runtime with a configuration
option telling the runtime that the runC binary is at some non-default
path. Consequently, only OCI runtimes which are compatible with the
io.containerd.runc.v2 shim, such as crun, can be used in this manner.
Other OCI runtimes, including kata-containers v2, come with their own
containerd shim and are not compatible with io.containerd.runc.v2.
As Docker has not historically provided a way to select a non-default
runtime which requires its own shim, runtimes such as kata-containers v2
could not be used with Docker.

Allow other containerd shims to be used with Docker; no daemon
configuration required. If the daemon is instructed to create a
container with a runtime name which does not match any of the configured
or stock runtimes, it passes the name along to containerd verbatim. A
user can start a container with the kata-containers runtime, for
example, simply by calling

    docker run --runtime io.containerd.kata.v2

Runtime names which containerd would interpret as a path to an arbitrary
binary are disallowed. While handy for development and testing it is not
strictly necessary and would allow anyone with Engine API access to
trivially execute any binary on the host as root, so we have decided it
would be safest for our users if it was not allowed.

It is not yet possible to set an alternative containerd shim as the
default runtime; it can only be configured per-container.

Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-07-27 14:22:49 -04:00
..
agext/levenshtein vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
armon vendor: github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da 2022-06-29 16:46:00 +02:00
aws/aws-sdk-go vendor: github.com/aws/aws-sdk-go v1.31.6 2022-02-23 19:49:51 +01:00
Azure/go-ansiterm vendor: regenerate 2022-01-18 15:46:04 +01:00
beorn7/perks vendor: regenerate 2022-01-18 15:46:04 +01:00
bsphere/le_go vendor: regenerate 2022-01-18 15:46:04 +01:00
cespare/xxhash/v2 vendor: github.com/cespare/xxhash/v2 v2.1.2 2022-03-01 18:00:17 +01:00
cilium/ebpf vendor: github.com/opencontainers/runc v1.1.0 2022-02-06 17:16:23 +09:00
cloudflare/cfssl vendor: regenerate 2022-01-18 15:46:04 +01:00
container-storage-interface/spec vendor: github.com/docker/swarmkit 616e8db4c3b0 2022-03-10 17:48:09 -05:00
containerd daemon: support other containerd runtimes (MVP) 2022-07-27 14:22:49 -04:00
coreos/go-systemd/v22 vendor: github.com/docker/swarmkit 616e8db4c3b0 2022-03-10 17:48:09 -05:00
creack/pty vendor: regenerate 2022-01-18 15:46:04 +01:00
cyphar/filepath-securejoin vendor: github.com/opencontainers/runc v1.1.0 2022-02-06 17:16:23 +09:00
deckarep/golang-set vendor: regenerate 2022-01-18 15:46:04 +01:00
docker Bump swarmkit to v2 2022-04-21 17:33:07 -04:00
dustin/go-humanize vendor: github.com/docker/swarmkit 616e8db4c3b0 2022-03-10 17:48:09 -05:00
felixge/httpsnoop vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
fernet/fernet-go vendor: regenerate 2022-01-18 15:46:04 +01:00
fluent/fluent-logger-golang vendor: regenerate 2022-01-18 15:46:04 +01:00
go-logr vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
godbus/dbus/v5 vendor: github.com/opencontainers/runc v1.1.0 2022-02-06 17:16:23 +09:00
gofrs/flock version: add RootlessKit, slirp4netns, and VPNKit version 2022-03-15 15:44:42 +09:00
gogo vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
golang vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
google vendor: github.com/google/go-cmp v0.5.7 2022-03-01 17:04:32 +01:00
googleapis/gax-go/v2 vendor: regenerate 2022-01-18 15:46:04 +01:00
gorilla/mux vendor: regenerate 2022-01-18 15:46:04 +01:00
Graylog2/go-gelf vendor: regenerate 2022-01-18 15:46:04 +01:00
grpc-ecosystem vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
hashicorp vendor: github.com/hashicorp/go-msgpack v0.5.5 (indirect) 2022-06-29 16:49:01 +02:00
imdario/mergo vendor: regenerate 2022-01-18 15:46:04 +01:00
inconshreveable/mousetrap
ishidawataru/sctp Bump swarmkit to v2 2022-04-21 17:33:07 -04:00
jmespath/go-jmespath vendor: regenerate 2022-01-18 15:46:04 +01:00
klauspost/compress vendor buildkit 8d45bd6 that fixes dockerd worker integration tests 2022-03-23 16:07:04 +01:00
matttproud/golang_protobuf_extensions vendor: regenerate 2022-01-18 15:46:04 +01:00
Microsoft vendor: github.com/Microsoft/hcsshim v0.9.3 2022-05-23 09:15:16 -07:00
miekg/dns vendor: regenerate 2022-01-18 15:46:04 +01:00
mistifyio/go-zfs vendor: regenerate 2022-01-18 15:46:04 +01:00
mitchellh/hashstructure/v2 vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
moby vendor: github.com/moby/sys/mountinfo v0.6.2 2022-06-27 10:26:53 +02:00
morikuni/aec vendor: regenerate 2022-01-18 15:46:04 +01:00
opencontainers vendor: github.com/opencontainers/selinux v1.10.1 2022-05-02 14:40:47 +02:00
pelletier/go-toml vendor: github.com/pelletier/go-toml v1.9.4 2022-02-23 19:25:30 +01:00
philhofer/fwd bump philhofer/fwd v1.0.0 2019-04-10 00:16:53 +02:00
pkg/errors vendor: regenerate 2022-01-18 15:46:04 +01:00
prometheus vendor: github.com/prometheus/client_golang v1.12.1, procfs v0.7.3 2022-06-29 16:41:16 +02:00
RackSec/srslog vendor: regenerate 2022-01-18 15:46:04 +01:00
rootless-containers/rootlesskit version: add RootlessKit, slirp4netns, and VPNKit version 2022-03-15 15:44:42 +09:00
sean-/seed vendor: regenerate 2022-01-18 15:46:04 +01:00
sirupsen/logrus vendor: regenerate 2022-01-18 15:46:04 +01:00
spf13 vendor: regenerate 2022-01-18 15:46:04 +01:00
tinylib/msgp vendor: regenerate 2022-01-18 15:46:04 +01:00
tonistiigi vendor buildkit v0.10.0 2022-03-22 18:51:27 +01:00
vbatts/tar-split vendor: regenerate 2022-01-18 15:46:04 +01:00
vishvananda bump netlink library 2022-06-16 22:25:33 +02:00