The infrakit plugin is not specific to Moby and should be able to boot other Linux systems as long as a kernel image and initial RAM disk are supplied. Reflect this in the property passed to the plugin. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This directory contains files used in moby demos.
Prerequisites
Most of the scripts/files assume you are on a Mac.
- Recent Docker for Mac installed (edge, nightly, master channel)
- Currently, you need a custom version of VPNKit installed in Docker for Mac (see below)
- For the GCP portion:
brew install google-cloud-sdk
- For
etcd
:brew install etcd
- Infrakit: Clone infrakit and
the GCP plugin for
infrakit. For each,
make build-in-container
and then copy the contents of./build
somewhere in your path.
For some of the demos, you currently need an updated version of VPNKit for Docker for Mac. Hopefully this version will ship as default soon.
Quit docker for Mac
curl -fsSL --retry 10 -z vpnkit.tgz -o vpnkit.tgz https://circle-artifacts.com/gh/docker/vpnkit/708/artifacts/0/Users/distiller/vpnkit/vpnkit.tgz
tar xzvf vpnkit.tgz
cp Contents/MacOS/vpnkit /Applications/Docker.app/Contents/Resources/bin/
Restart Docker for Mac.
Local setup
We use a socat
container to forward ports from the VM to localhost (via Docker for Mac), to make it easier to access some VMs. To build
(cd dockerfiles; docker build -t socat -f Dockerfile.socat .)
And then run:
docker run --rm -t -d -p 8080:8080 socat tcp-listen:8080,reuseaddr,fork tcp:192.168.65.100:80
This forwards local port 8080
to 192.168.65.100:80
, so if you start, say the intro
image, run moby run -ip 196.168.65.100 intro
GCP Setup
You probably want to change the project/zone
export CLOUDSDK_CORE_PROJECT=docker4x
export CLOUDSDK_COMPUTE_ZONE=europe-west1-d
gcloud auth login
gcloud auth application-default login
You may also want to create ssh-keys and upload them. See the Generating a new SSH key-pair section
One time configuration of the network:
gcloud compute networks create rneugeba-demo --mode auto
gcloud compute networks subnets list
# get IP subnet for rneugeba-demo
gcloud compute firewall-rules create rneugeba-demo-internal --network \
rneugeba-demo --allow tcp,udp,icmp --source-ranges 10.128.0.0/9
The firewall setup means that all our projects networks can talk to the demo network.