From 957a2fb65459a414cf84e6f6fd9828fb8cb2ede8 Mon Sep 17 00:00:00 2001 From: icedream Date: Wed, 15 Feb 2017 08:17:52 +0100 Subject: [PATCH] Initial commit. --- .dockerignore | 6 ++++++ Dockerfile | 10 ++++++++++ Dockerfile.armhf | 12 ++++++++++++ container-init.sh | 21 +++++++++++++++++++++ docker-compose.yml | 30 ++++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 Dockerfile.armhf create mode 100755 container-init.sh create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..08c1f63 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +Dockerfile* +.dockerignore + +docker-compose* + +.git* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ae09343 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +#FROM openjdk:8-jre-alpine +FROM alpine:edge + +RUN apk add --no-cache openjdk8-jre-base docker openssl openssh tar gzip xz bzip2 + +ADD container-init.sh /usr/local/bin/init + +ENTRYPOINT [ "init" ] +EXPOSE 22 + diff --git a/Dockerfile.armhf b/Dockerfile.armhf new file mode 100644 index 0000000..1ad62d4 --- /dev/null +++ b/Dockerfile.armhf @@ -0,0 +1,12 @@ +FROM container4armhf/armhf-alpine:edge + +RUN echo "http://nl.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories + +RUN apk add --no-cache openjdk8-jre-base docker openssl openssh tar gzip xz bzip2 &&\ + update-ca-certificates + +ADD container-init.sh /usr/local/bin/init + +ENTRYPOINT [ "init" ] +EXPOSE 22 + diff --git a/container-init.sh b/container-init.sh new file mode 100755 index 0000000..3743427 --- /dev/null +++ b/container-init.sh @@ -0,0 +1,21 @@ +#!/bin/sh -e + +mkdir -p ~root/.ssh +chmod 700 ~root/.ssh + +if [ -f "/authorized_keys" ]; then + # use mounted-in authorized_keys + cp -v /authorized_keys ~root/.ssh/authorized_keys + chmod 600 ~root/.ssh/authorized_keys +elif [ ! -z "$1" ]; then + # download authorized_keys from http server + wget -q -O ~root/.ssh/authorized_keys "$1" + chmod 600 ~root/.ssh/authorized_keys + shift 1 +fi + +# generate host keys if they don't exist yet +ssh-keygen -A + +# start ssh server +exec "$(which sshd)" -D -e -p 22 "$@" diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a3012f6 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,30 @@ +version: "2" + +services: + daemon-armhf: + restart: always + build: + context: . + dockerfile: Dockerfile.armhf + ports: + - "2222:22" + volumes: + - /tmp/:/tmp/ + - /var/run/docker.sock:/var/run/docker.sock + - /var/tmp/jenkins-slave:/var/tmp/jenkins-slave + #- ./authorized_keys:/authorized_keys:ro + #command: + # - http://url.to/your/authorized_keys + daemon: + restart: always + build: + context: . + ports: + - "2222:22" + volumes: + - /tmp/:/tmp/ + - /var/run/docker.sock:/var/run/docker.sock + - /var/tmp/jenkins-slave:/var/tmp/jenkins-slave + #- ./authorized_keys:/authorized_keys:ro + #command: + # - http://url.to/your/authorized_keys