Docker.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Sun, 10 Jan 2016 23:24:22 +0000 (00:24 +0100)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Sun, 10 Jan 2016 23:24:22 +0000 (00:24 +0100)
HOWTO-docker.sh [new file with mode: 0644]
HOWTO-kvm.sh [moved from HOWTO.sh with 100% similarity]
docker.sh [new file with mode: 0755]
docker/Dockerfile.meta [new file with mode: 0644]
docker/Dockerfile.puppetlabs [new file with mode: 0644]

diff --git a/HOWTO-docker.sh b/HOWTO-docker.sh
new file mode 100644 (file)
index 0000000..1bee4f8
--- /dev/null
@@ -0,0 +1,38 @@
+Images
+======
+
+docker images  #list
+docker rmi $IMAGES     #remove
+docker build -t $NAME:$TAG .
+
+
+Containers
+==========
+
+docker ps
+docker ps --all
+docker run -itd --name=$NAME --mac-address=$MAC --hostname=$HOSTNAME --memory=61440G $IMAGE /sbin/init
+docker stop $IDS
+docker rm $IDS
+
+
+Network
+=======
+
+docker inspect --format='{{json .NetworkSettings.Networks}}' $ID
+eval ip=`docker inspect --format='{{json .NetworkSettings.Networks.bridge.IPAddress}}' $ID`
+
+
+Installation
+============
+
+#! /bin/sh
+cat > /etc/apt/sources.list.d/docker.list <<EOF
+deb https://apt.dockerproject.org/repo debian-wheezy main
+EOF
+apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
+apt-get install apt-transport-https
+
+apt-get update
+apt-get install docker-engine
+echo "DOCKER_OPTS='--ipv6 --fixed-cidr-v6=2001:718:ff01:1::/64'" >> /etc/default/docker
similarity index 100%
rename from HOWTO.sh
rename to HOWTO-kvm.sh
diff --git a/docker.sh b/docker.sh
new file mode 100755 (executable)
index 0000000..7c9c23a
--- /dev/null
+++ b/docker.sh
@@ -0,0 +1,47 @@
+#! /bin/sh -xe
+
+#./launch.sh cfg.sh --name=hadoop1 --hostname=`hostname`-hadoop1 --mac-address=02:42:ac:11:00:02 --memory=61440G
+
+if [ -z "${1}" ]; then
+    echo "Usage:"
+    echo
+    echo "$0 cfg_hostname.sh"
+    exit 1
+fi
+. ./$1 || exit 1
+shift
+
+if [ -n "${FACTER_hostname}" ]; then
+  ARGS="${ARGS} --name=${FACTER_hostname} --hostname=${FACTER_hostname}"
+fi
+if [ -n "${FACTER_macaddress}" ]; then
+  ARGS="${ARGS} --mac-address=${FACTER_macaddress}M"
+fi
+if [ -n "${FACTER_macaddress}" ]; then
+  ARGS="${ARGS} --memory=${SIZE_MEM}M"
+fi
+if [ -z "${DISK_SUBDIR}" ]; then
+  DISK_SUBDIR='/virt-1'
+fi
+
+echo docker run -itd \
+  -v ~/.k5login:/root/.k5login \
+  -v ~/.ssh:/root/.ssh \
+  -v /etc/krb5.conf:/etc/krb5.conf \
+  -v /data/1${DISK_SUBDIR}:/data/1 \
+  -v /data/2${DISK_SUBDIR}:/data/2 \
+  -v /data/3${DISK_SUBDIR}:/data/3 \
+  -v /data/4${DISK_SUBDIR}:/data/4 \
+  -v /data/5${DISK_SUBDIR}:/data/5 \
+  -v /data/6${DISK_SUBDIR}:/data/6 \
+  -v /data/7${DISK_SUBDIR}:/data/7 \
+  -v /data/8${DISK_SUBDIR}:/data/8 \
+  -v /data/9${DISK_SUBDIR}:/data/9 \
+  -v /data/10${DISK_SUBDIR}:/data/10 \
+  -v /data/11${DISK_SUBDIR}:/data/11 \
+  -v /data/12${DISK_SUBDIR}:/data/12 \
+  -v /scratch${DISK_SUBDIR}:/scratch \
+  "${ARGS}" \
+  "$@" \
+  hadoop-meta \
+  /sbin/init
diff --git a/docker/Dockerfile.meta b/docker/Dockerfile.meta
new file mode 100644 (file)
index 0000000..5538222
--- /dev/null
@@ -0,0 +1,13 @@
+FROM debian:7
+MAINTAINER František Dvořák <valtri@civ.zcu.cz>
+
+RUN apt-get update \
+&& apt-get install -y openssh-server puppet
+
+RUN sed -e 's/^#\(GSSAPIAuthentication\).*/\1 yes/' -i /etc/ssh/sshd_config
+RUN sed -e 's/\(\[main\]\)/\1\nserver=thorin2.ics.muni.cz/' -i /etc/puppet/puppet.conf
+
+# ==== cleanup ====
+
+RUN apt-get clean \
+&& rm -rf /var/lib/apt/lists/*
diff --git a/docker/Dockerfile.puppetlabs b/docker/Dockerfile.puppetlabs
new file mode 100644 (file)
index 0000000..70ef149
--- /dev/null
@@ -0,0 +1,23 @@
+FROM debian:7
+MAINTAINER František Dvořák <valtri@civ.zcu.cz>
+
+# ==== ssh ====
+
+RUN apt-get update \
+&& apt-get install -y openssh-server \
+&& sed -e 's/^#\(GSSAPIAuthentication\).*/\1 yes/' -i /etc/ssh/sshd_config
+
+# ==== puppet ====
+
+RUN apt-get update && apt-get install -y wget
+RUN wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb -P /tmp \
+&& dpkg -i /tmp/puppetlabs-release-wheezy.deb \
+&& rm -fv /tmp/puppetlabs-release-wheezy.deb
+
+RUN apt-get update && apt-get install -y puppet
+RUN sed -e 's/\(\[main\]\)/\1\nserver=myriad7.zcu.cz/' -i /etc/puppet/puppet.conf
+
+# ==== cleanup ====
+
+RUN apt-get clean \
+&& rm -rf /var/lib/apt/lists/*