Files
linuxkit/blueprints
Ian Campbell 4df5d394e8 Bump yml
Done as follows:

    find -name build.yml | xargs dirname | while read d ; do
        t=$(linuxkit pkg show-tag $d)
        ./scripts/update-component-sha.sh --image ${t%:*} ${t#*:}
    done
    git commit -s test pkg tools blueprints examples projects/kubernetes projects/swarmd docs linuxkit.yml Makefile src

This explicitly excludes projects/* which I did not know whether to update.

Then:

    git reset --hard
    for i in init runc containerd ca-certificates sysctl dhcpcd getty rngd ; do
        o=$(git grep -h "\(image:\|-\) *linuxkit/$i:[0-9a-f]\{40\}" origin/master:linuxkit.yml | awk '// { print $2 }')
        n=$(linuxkit pkg show-tag pkg/$i)
        ./scripts/update-component-sha.sh "$o" "$n"
    done
    git commit --amend projects

This updates any projects which were using components with the same hash as the
top-level linuxkit.yml.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 13:23:45 +01:00
..
2017-10-10 13:23:45 +01:00
2017-10-10 13:23:45 +01:00

Blueprints

This directory will contain the blueprints for base systems on the platforms that we support with LinuxKit.

These will be used for running tests, and for the low level parts of blueprints for higher level systems.

These include all the platforms that Docker has editions on, and all platforms that our community supports. The detailed blueprints will be addded soon for at least the following platforms. There are WIP versions in the examples/ directory.

  • MacOS
  • Windows Hyper-V
  • VMWare
  • KVM
  • AWS
  • Azure
  • GCP
  • BlueMix
  • Packet.net
  • ...

Docker for Mac

An initial blueprint for the open source components of Docker for Mac is available in docker-for-mac. The blueprint has support for controlling dockerd from the host via vsudd and port forwarding with VPNKit. It requires HyperKit, VPNKit and a Docker client on the host to run. The easiest way to install these at the moment is to install a recent version of Docker for Mac.

To build it with the latest Docker CE:

$ moby build -name docker-for-mac base.yml docker-ce.yml

To run the VM with a 4G disk:

linuxkit run hyperkit -networking=vpnkit -vsock-ports=2376 -disk size=4096M -data ./metadata.json docker-for-mac

In another terminal you should now be able to access docker via the socket guest.00000947 in the state directory (docker-for-mac-state/ by default):

$ docker -H unix://docker-for-mac-state/guest.00000948 ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Linux Containers On Windows (LCOW)

The LCOW file contains the blueprint for building a minimal Linux kernel and initrd for Linux Containers on Windows. Invoke it with moby build lcow.yml and you get a lcow-kernel and lcow-initrd.img. Rename lcow-kernel to bootx64.efi and lcow-initrd.img to initrd.img and then follow these instructions. The process for creating the image is documented here.