From 59fba96d171b042edfceac5d56fa97946e66a0a4 Mon Sep 17 00:00:00 2001 From: Mate Farkas <mate.farkas@sch.hu> Date: Thu, 3 Aug 2017 17:33:32 +0100 Subject: [PATCH] Vagrant-compatible AmazonLinux image has been added. --- docker/amazonlinux/Dockerfile | 25 +++++++++++++++++++ docker/amazonlinux/Makefile | 8 ++++++ docker/amazonlinux/README.md | 15 +++++++++++ docker/amazonlinux/etc/environment | 5 ++++ docker/amazonlinux/etc/mini-init/99-ssh | 6 +++++ docker/amazonlinux/etc/sudoers.d/vagrant | 2 ++ .../home/vagrant/.ssh/authorized_keys | 2 ++ docker/amazonlinux/sbin/mini-init | 13 ++++++++++ 8 files changed, 76 insertions(+) create mode 100644 docker/amazonlinux/Dockerfile create mode 100644 docker/amazonlinux/Makefile create mode 100644 docker/amazonlinux/README.md create mode 100644 docker/amazonlinux/etc/environment create mode 100644 docker/amazonlinux/etc/mini-init/99-ssh create mode 100644 docker/amazonlinux/etc/sudoers.d/vagrant create mode 100644 docker/amazonlinux/home/vagrant/.ssh/authorized_keys create mode 100644 docker/amazonlinux/sbin/mini-init diff --git a/docker/amazonlinux/Dockerfile b/docker/amazonlinux/Dockerfile new file mode 100644 index 0000000..6c0abb0 --- /dev/null +++ b/docker/amazonlinux/Dockerfile @@ -0,0 +1,25 @@ +FROM amazonlinux:2017.03 +MAINTAINER Mate Farkas <mate.farkas@sch.hu> + +RUN yum install --assumeyes \ + openssh-server \ + sudo \ + vim + +ADD etc/environment /etc/environment + +RUN useradd -m -s /bin/bash vagrant +ADD home/vagrant/.ssh/authorized_keys /home/vagrant/.ssh/authorized_keys +RUN chmod 0700 /home/vagrant/.ssh/ +RUN chmod 0600 /home/vagrant/.ssh/authorized_keys +RUN chown -R vagrant. /home/vagrant/ + +ADD etc/sudoers.d/vagrant /etc/sudoers.d/vagrant + +ADD sbin/mini-init /sbin/mini-init +RUN chmod u+x /sbin/mini-init +ADD etc/mini-init /etc/mini-init + +EXPOSE 22 +CMD /sbin/mini-init + diff --git a/docker/amazonlinux/Makefile b/docker/amazonlinux/Makefile new file mode 100644 index 0000000..8d70586 --- /dev/null +++ b/docker/amazonlinux/Makefile @@ -0,0 +1,8 @@ +TAG='matefarkas/amazonlinux:base' + +all: + docker build --tag ${TAG} ${PWD} + +test: + docker run --interactive --tty --rm ${TAG} bash || true + diff --git a/docker/amazonlinux/README.md b/docker/amazonlinux/README.md new file mode 100644 index 0000000..27df40f --- /dev/null +++ b/docker/amazonlinux/README.md @@ -0,0 +1,15 @@ +# matefarkas/amazonlinux:base + +Finally there's an official AmazonLinux image available. + +Let's make it work with Vagrant. + +## AuFS problems + +The original image works, but fails to install essential packages. +Setting the devicemapper driver in */etc/docker/daemon.json* solves the problem. + + { + "storage-driver": "devicemapper" + } + diff --git a/docker/amazonlinux/etc/environment b/docker/amazonlinux/etc/environment new file mode 100644 index 0000000..93fcca3 --- /dev/null +++ b/docker/amazonlinux/etc/environment @@ -0,0 +1,5 @@ +LC_ALL="C" +LC_CTYPE="C" +LC_MESSAGES="C" +PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" + diff --git a/docker/amazonlinux/etc/mini-init/99-ssh b/docker/amazonlinux/etc/mini-init/99-ssh new file mode 100644 index 0000000..82d2e2b --- /dev/null +++ b/docker/amazonlinux/etc/mini-init/99-ssh @@ -0,0 +1,6 @@ +#!/bin/bash + +mkdir -p /var/run/sshd +/usr/bin/ssh-keygen -A +/usr/sbin/sshd -D -f /etc/ssh/sshd_config + diff --git a/docker/amazonlinux/etc/sudoers.d/vagrant b/docker/amazonlinux/etc/sudoers.d/vagrant new file mode 100644 index 0000000..deca374 --- /dev/null +++ b/docker/amazonlinux/etc/sudoers.d/vagrant @@ -0,0 +1,2 @@ +vagrant ALL=(ALL) NOPASSWD: ALL + diff --git a/docker/amazonlinux/home/vagrant/.ssh/authorized_keys b/docker/amazonlinux/home/vagrant/.ssh/authorized_keys new file mode 100644 index 0000000..47ac937 --- /dev/null +++ b/docker/amazonlinux/home/vagrant/.ssh/authorized_keys @@ -0,0 +1,2 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key + diff --git a/docker/amazonlinux/sbin/mini-init b/docker/amazonlinux/sbin/mini-init new file mode 100644 index 0000000..84e9c3c --- /dev/null +++ b/docker/amazonlinux/sbin/mini-init @@ -0,0 +1,13 @@ +#!/bin/bash + +CONFDIR="/etc/mini-init" +LOGFILE="/var/log/mini-init.log" + +for file in `ls $CONFDIR` +do + script="$CONFDIR/$file" + echo "Running startup script: $script" >> $LOGFILE + bash -x $script &>> $LOGFILE + echo "Startup script [$script] finished with exit code: $?" >> $LOGFILE +done + -- GitLab