Created
September 21, 2019 10:39
-
-
Save aimakun/e21add3ef7a8a4ef71ad52a00b9be8aa to your computer and use it in GitHub Desktop.
Dockerfile for Ansible Playbook
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM alpine:3.7 | |
ENV ANSIBLE_VERSION 2.8.0 | |
ENV BUILD_PACKAGES \ | |
bash \ | |
curl \ | |
tar \ | |
openssh-client \ | |
sshpass \ | |
git \ | |
python \ | |
py-boto \ | |
py-dateutil \ | |
py-httplib2 \ | |
py-jinja2 \ | |
py-paramiko \ | |
py-pip \ | |
py-yaml \ | |
ca-certificates | |
# If installing ansible@testing | |
#RUN \ | |
# echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> #/etc/apk/repositories | |
RUN set -x && \ | |
\ | |
echo "==> Adding build-dependencies..." && \ | |
apk --update add --virtual build-dependencies \ | |
gcc \ | |
musl-dev \ | |
libffi-dev \ | |
openssl-dev \ | |
python-dev && \ | |
\ | |
echo "==> Upgrading apk and system..." && \ | |
apk update && apk upgrade && \ | |
\ | |
echo "==> Adding Python runtime..." && \ | |
apk add --no-cache ${BUILD_PACKAGES} && \ | |
pip install --upgrade pip && \ | |
pip install python-keyczar docker-py && \ | |
\ | |
echo "==> Installing Ansible..." && \ | |
pip install ansible==${ANSIBLE_VERSION} && \ | |
\ | |
echo "==> Cleaning up..." && \ | |
apk del build-dependencies && \ | |
rm -rf /var/cache/apk/* && \ | |
\ | |
echo "==> Adding hosts for convenience..." && \ | |
mkdir -p /etc/ansible /ansible && \ | |
echo "[local]" >> /etc/ansible/hosts && \ | |
echo "localhost" >> /etc/ansible/hosts | |
ENV ANSIBLE_GATHERING smart | |
ENV ANSIBLE_HOST_KEY_CHECKING false | |
ENV ANSIBLE_RETRY_FILES_ENABLED false | |
ENV ANSIBLE_ROLES_PATH /ansible/playbooks/roles | |
ENV ANSIBLE_SSH_PIPELINING True | |
ENV PYTHONPATH /ansible/lib | |
ENV PATH /ansible/bin:$PATH | |
ENV ANSIBLE_LIBRARY /ansible/library | |
WORKDIR /ansible/playbooks | |
ENTRYPOINT ["ansible-playbook"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment