mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-11-03 12:37:47 +00:00
66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
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](https://github.com/docker/infrakit) and
|
|
the [GCP plugin](https://github.com/docker/infrakit.gcp) 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](https://cloud.google.com/compute/docs/instances/connecting-to-instance)
|
|
|
|
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.
|
|
|
|
|