From 0d3c6d124ff43a7c92be257d238a5156df7745f4 Mon Sep 17 00:00:00 2001 From: Magnus Skjegstad Date: Fri, 30 Jun 2017 15:35:23 +0200 Subject: [PATCH] blueprints: split dfm blueprint into base and docker yml Signed-off-by: Magnus Skjegstad --- blueprints/README.md | 8 +++++- .../base.yml} | 28 +------------------ blueprints/docker-for-mac/docker-17.06-ce.yml | 27 ++++++++++++++++++ 3 files changed, 35 insertions(+), 28 deletions(-) rename blueprints/{docker-for-mac.yml => docker-for-mac/base.yml} (70%) create mode 100644 blueprints/docker-for-mac/docker-17.06-ce.yml diff --git a/blueprints/README.md b/blueprints/README.md index 8cb5c6458..321f2c1aa 100644 --- a/blueprints/README.md +++ b/blueprints/README.md @@ -21,7 +21,13 @@ the [examples/](../examples/) directory. ### Docker for Mac -An initial blueprint for the open source components of Docker for Mac is available in [docker-for-mac.yml](docker-for-mac.yml). 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. +An initial blueprint for the open source components of Docker for Mac is available in [docker-for-mac](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 Docker 17.06: + +``` +$ moby build -name docker-for-mac base.yml docker-17.06-ce.yml +``` To run the VM with a 500M disk: diff --git a/blueprints/docker-for-mac.yml b/blueprints/docker-for-mac/base.yml similarity index 70% rename from blueprints/docker-for-mac.yml rename to blueprints/docker-for-mac/base.yml index 12372aa9e..84c9a5c2b 100644 --- a/blueprints/docker-for-mac.yml +++ b/blueprints/docker-for-mac/base.yml @@ -5,7 +5,7 @@ kernel: init: - linuxkit/init:36c56f0664d49c5a6adc1120d1bf5ba6ac30b389 - linuxkit/runc:291131ec026430371e7c36165c3f43734fbc2541 - - linuxkit/containerd:b50181bc6e0084e5fcd6b6ad3cf433c4f66cae5a + - linuxkit/containerd:1e3e8f207421de8deac8cedc26a138d6b1661a0d onboot: - name: sysctl image: "linuxkit/sysctl:3aa6bc663c2849ef239be7d941d3eaf3e6fcc018" @@ -57,36 +57,10 @@ services: - /var/vpnkit:/port net: host command: ["/vpnkit-forwarder", "-vsockPort", "62373"] - # Run dockerd with the vpnkit userland proxy from the vpnkit-forwarder container. - # Bind mounts /var/run to allow vsudd to connect to docker.sock, /var/vpnkit - # for vpnkit coordination and /var/config/docker for the configuration file. - - name: docker-dfm - image: "linuxkit/docker-ce:9e125aa533108731d11f6d7ec17aba6ded0cb4eb" - capabilities: - - all - net: host - mounts: - - type: cgroup - options: ["rw","nosuid","noexec","nodev","relatime"] - binds: - - /var/lib/docker:/var/lib/docker - - /lib/modules:/lib/modules - - /var/vpnkit:/port - - /var/run:/var/run - - /var/config/docker:/var/config/docker - command: [ "/usr/bin/docker-init", "/usr/bin/dockerd", "--", - "--config-file", "/var/config/docker/daemon.json", - "--swarm-default-advertise-addr=eth0", - "--userland-proxy-path", "/usr/bin/vpnkit-expose-port", - "--storage-driver", "overlay2" ] # Monitor for image deletes and invoke a TRIM on the container filesystem - name: trim-after-delete image: "linuxkit/trim-after-delete:6cc6131300c287fcd40041a28119fee2fc874539" -files: - - path: /var/config/docker/daemon.json - contents: '{ "debug": true }' - trust: org: - linuxkit diff --git a/blueprints/docker-for-mac/docker-17.06-ce.yml b/blueprints/docker-for-mac/docker-17.06-ce.yml new file mode 100644 index 000000000..c62cd61d6 --- /dev/null +++ b/blueprints/docker-for-mac/docker-17.06-ce.yml @@ -0,0 +1,27 @@ +services: + # Run dockerd with the vpnkit userland proxy from the vpnkit-forwarder container. + # Bind mounts /var/run to allow vsudd to connect to docker.sock, /var/vpnkit + # for vpnkit coordination and /var/config/docker for the configuration file. + - name: docker-dfm + image: "linuxkit/docker-ce:9e125aa533108731d11f6d7ec17aba6ded0cb4eb" + capabilities: + - all + net: host + mounts: + - type: cgroup + options: ["rw","nosuid","noexec","nodev","relatime"] + binds: + - /var/lib/docker:/var/lib/docker + - /lib/modules:/lib/modules + - /var/vpnkit:/port + - /var/run:/var/run + - /var/config/docker:/var/config/docker + command: [ "/usr/bin/docker-init", "/usr/bin/dockerd", "--", + "--config-file", "/var/config/docker/daemon.json", + "--swarm-default-advertise-addr=eth0", + "--userland-proxy-path", "/usr/bin/vpnkit-expose-port", + "--storage-driver", "overlay2" ] + +files: + - path: /var/config/docker/daemon.json + contents: '{ "debug": true }'