Support generic OCI containers in GitLab Container Registry
Description
GitLab Container Registry (https://docs.gitlab.com/ee/user/project/container_registry.html) provides an integrated and easy way to deal with containers, so any project in GitLab can push and pull images from there. This is very useful, but we are currently supporting only Docker images as the objects that can be exchanged.
This is because we are using the official Docker daemon, with an integration layer on top, to provide this service. But there are also other container engines, even if they are less known (e.g., https://coreos.com/rkt/). Kubernetes supports both technologies.
Description
Probably the generic solution is to support the OCI format (https://www.opencontainers.org/) so users can use an technology that implements this standard. At the moment the Docker daemon doesn't support it, but in the future it could, or we can find a different daemon that does and use it instead.
An upstream PR can be found at https://github.com/docker/distribution/pull/2076, if this will be merged and released we can consider to update the registry and add support for OCI.