1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
#!/bin/bash
# mount an SSD for fast repo syncing
mkfs.ext4 -F /dev/nvme0n1
mkdir /ssd
mount /dev/nvme0n1 /ssd
chmod a+w /ssd
# configure Docker to run on the SSD
mkdir -p /ssd/docker
mkdir -p /etc/docker
echo "{\"graph\": \"/ssd/docker\"}" > /etc/docker/daemon.json
# install Docker
apt-get update
apt-get -qq -y --force-yes install docker.io
author=$(curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/AUTHOR" -H "Metadata-Flavor: Google")
usermod -a -G docker $author
# authenticate to Google Cloud as service account
serviceAccount=$(curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/SERVICE_ACCOUNT" -H "Metadata-Flavor: Google")
googleProjectID=$(curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/GOOGLE_PROJECT_ID" -H "Metadata-Flavor: Google")
gcloud projects add-iam-policy-binding $googleProjectID --member serviceAccount:$serviceAccount --role roles/compute.instanceAdmin.v1
|