# This is a blueprint for building the open source components of Docker for Mac kernel: image: "linuxkit/kernel:4.9.35" cmdline: "console=ttyS0 page_poison=1" init: - linuxkit/vpnkit-expose-port:e2b49a6c56fbf876ea24f0a5ce4ccae5f940d1be # install vpnkit-expose-port and vpnkit-iptables-wrapper on host - linuxkit/init:24942921d1356bb801b30ca6d7197d2bfdcc26f9 - linuxkit/runc:2310ad9d266cf5d9c4d07613bd2135ed7eb8a21f - linuxkit/containerd:e0607d117e0286792c5bd62d9a7e2a9c49be3bbf onboot: - name: sysctl image: "linuxkit/sysctl:d1a43c7c91e92374766f962dc8534cf9508756b0" - name: sysfs image: "linuxkit/sysfs:006a65b30cfdd9d751d7ab042fde7eca2c3bc9dc" - name: binfmt image: "linuxkit/binfmt:0bde4ebd422099f45c5ee03217413523ad2223e5" # Format and mount the disk image in /var/lib/docker - name: format image: "linuxkit/format:84a997e69051a1bf05b7c1926ab785bb07932954" - name: mount image: "linuxkit/mount:b24bd97ae43397b469dbaadd80f17f291c817bdf" command: ["/mount.sh", "/var/lib/docker"] # mount-vpnkit mounts the 9p share used by vpnkit to coordinate port forwarding - name: mount-vpnkit image: "alpine:3.6" binds: - /var/:/host_var:rbind,rshared capabilities: - CAP_SYS_ADMIN rootfsPropagation: shared command: ["sh", "-c", "mkdir -p /host_var/vpnkit/port && mount -v -t 9p -o trans=virtio,dfltuid=1001,dfltgid=50,version=9p2000 port /host_var/vpnkit"] - name: dhcpcd image: "linuxkit/dhcpcd:4b7b8bb024cebb1bbb9c8026d44d7cbc8e202c41" command: ["/sbin/dhcpcd", "--nobackground", "-f", "/dhcpcd.conf", "-1"] services: # Enable getty for easier debugging - name: getty image: "linuxkit/getty:5ab31289889d61a5d2ecbeea8e36ce74ac54737c" env: - INSECURE=true - name: rngd image: "linuxkit/rngd:1516d5d70683a5d925fe475eb1b6164a2f67ac3b" # Run ntpd to keep time synchronised in the VM - name: ntpd image: "linuxkit/openntpd:19370f5d9bec84eb91073b7196b732f1301d9c90" # VSOCK to unix domain socket forwarding. Forwards guest /var/run/docker.sock # to a socket on the host. - name: vsudd image: "linuxkit/vsudd:adad4b6ab7529b6b95339eb0752b0c81a218d185" binds: - /var/run:/var/run command: ["/vsudd", "-inport", "2376:unix:/var/run/docker.sock"] # vpnkit-forwarder forwards network traffic to/from the host via VSOCK port 62373. # It needs access to the vpnkit 9P coordination share - name: vpnkit-forwarder image: "linuxkit/vpnkit-forwarder:9c1545e7b093d1210118de7661d7346393ec195b" binds: - /var/vpnkit:/port net: host command: ["/vpnkit-forwarder", "-vsockPort", "62373"] # Monitor for image deletes and invoke a TRIM on the container filesystem - name: trim-after-delete image: "linuxkit/trim-after-delete:2a5fcbe080cd4a45bd75c2ea3856c069475d706d" trust: org: - linuxkit