Skip to content

Instantly share code, notes, and snippets.

@woneill
Created January 9, 2018 16:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save woneill/4474e0738d253c89c2488e727115271d to your computer and use it in GitHub Desktop.
Save woneill/4474e0738d253c89c2488e727115271d to your computer and use it in GitHub Desktop.
FROM amazonlinux:1
MAINTAINER William O'Neill
# The Amazon Linux Docker image doesn't contain all of the packages that the EC2
# instance starts with. This script installs the missing packages only when
# building a docker image
# List was generated by comparing the output of
# docker run -it --rm amazonlinux:latest rpm --queryformat "%{NAME}\n" -qa | sort
# and
# TODO: a kludged terraform that spins up an EC2 instance
# Note that putting both outputs into a file and running `comm -23 file_a file_b` helps!
RUN yum makecache fast && \
yum -y update && \
yum -y install \
acpid \
audit \
audit-libs \
authconfig \
autogen-libopts \
binutils \
bzip2 \
checkpolicy \
cloud-disk-utils \
cloud-init \
cpio \
cracklib \
cracklib-dicts \
cronie \
cronie-anacron \
crontabs \
cyrus-sasl \
dash \
dbus-libs \
dhclient \
dhcp-common \
diffutils \
dracut \
dracut-modules-growroot \
e2fsprogs \
e2fsprogs-libs \
ec2-utils \
ed \
ethtool \
file \
findutils \
fipscheck \
fipscheck-lib \
gdisk \
generic-logos \
get_reference_source \
gpg-pubkey \
groff \
groff-base \
grub \
grubby \
hesiod \
hmaccalc \
hwdata \
initscripts \
iproute \
iptables \
iputils \
kbd \
kbd-misc \
kernel \
kmod \
kmod-libs \
less \
libblkid \
libcap-ng \
libcgroup \
libedit \
libidn \
libmount \
libnih \
libpwquality \
libselinux-utils \
libsemanage \
libss \
libsysfs \
libudev \
libuser \
libutempter \
libuuid \
libyaml \
logrotate \
mingetty \
net-tools \
newt \
newt-python27 \
nss-pem \
ntp \
ntpdate \
openssh \
openssh-clients \
openssh-server \
pam \
passwd \
pciutils \
pciutils-libs \
policycoreutils \
procmail \
procps \
psmisc \
python27-babel \
python27-backports \
python27-backports-ssl_match_hostname \
python27-configobj \
python27-jinja2 \
python27-jsonpatch \
python27-jsonpointer \
python27-markupsafe \
python27-PyYAML \
python27-requests \
python27-setuptools \
python27-six \
python27-urllib3 \
rootfiles \
rsyslog \
sendmail \
setserial \
shadow-utils \
slang \
sudo \
sysfsutils \
sysvinit \
tcp_wrappers-libs \
udev \
update-motd \
upstart \
ustr \
util-linux \
vim-minimal \
which \
xz \
yum-plugin-upgrade-helper && \
yum -y update && \
yum clean metadata && \
yum clean all && \
# Generate /etc/pam.d/*-ac files
/usr/sbin/authconfig --update
# Install Ansible and other requirements.
RUN yum makecache fast && \
yum -y install deltarpm epel-release && \
yum-config-manager --enable epel && \
yum -y update && \
yum -y install ansible && \
yum clean metadata && \
yum clean all
# Install Ansible inventory file.
RUN echo -e '[local]\nlocalhost ansible_connection=local' > /etc/ansible/hosts
CMD [ "ansible-playbook", "--version" ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment