Docker for macOS

Aniketh Girish

Abstract

  • The need of docker running in a foreign OS?

(since there is docker for macOS and windows already!)

 

  • In respective of the research project?
  • In respective of the docker on macOS?

Docker for macOS (current)Architecture

Docker for macOS (proposed) architecture.

(src: docker medium post)

Preparation of the port.

API structure: Top to Bottom

A. Platform-level port

B. Runtime level port

C. The system features port

Apart from exposing features like chroot, exposing mounting options and establishing ociSpec use for darwin the majority work for the port relied on the porting of Libnetwork, Libcontainerd, moby/buildkit modules.

Few other major changes

  • ‘sysconf‘ for Go
  • libcontainerd changes
  • libnetwork changes

Ported features.

Docker commands support on macOS.

Work in Progress

  • containerd-shim process is remained(#11)

Work in Progress

  • cannot run alpine image (#10)

  • Integration test with Travis ci (#2)

Future suggestions

Improvement of the filesystem support: Improve VFS to properly mount and unmount container filesystems.

Improvement of the libnetwork port: A bridge similar to docker0 between gRPC clients and servers.

Code refactor

Demo!

Questions?

Thank You!

anikethgireesh@gmail.com

Docker for macOS

By Aniketh Gireesh