molecule/Dockerfile

44 lines
1.6 KiB
Docker

FROM python:3.7-alpine
LABEL maintainer="Robert Kaussow <mail@geeklabor.de>" \
org.label-schema.name="molecule" \
org.label-schema.vcs-url="https://gitea.rknet.org/docker/molecule" \
org.label-schema.vendor="Robert Kaussow" \
org.label-schema.schema-version="1.0"
ARG ANSIBLE_VERSION=2.9.0
ARG MOLECULE_VERSION=latest
ENV PY_COLORS=1 \
USER=root \
PATH=/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin
COPY overlay/ /
RUN apk add --update --no-cache --virtual .build-deps gcc make libffi-dev musl-dev \
openssl-dev python3-dev && \
apk add --update --no-cache git openssh-client && \
# Required to fix hcloud dependency:
# hcloud 1.6.3 has requirement requests<2.23,>=2.20, but you'll have requests 2.23.0
echo "Installing ansible 'v$ANSIBLE_VERSION' ..." && \
pip install -qq --upgrade --no-cache-dir pip setuptools requests~=2.22.0 && \
pip install -qq --no-cache-dir ansible~="$ANSIBLE_VERSION" && \
echo "Installing requirements ..." && \
MOLECULE_MAJOR="${MOLECULE_VERSION%%.*}" && \
pip install -qq --no-cache-dir -r /root/requirements.txt && \
if [ -z "${MOLECULE_MAJOR//[0-9]}" ] && [ -n "$MOLECULE_MAJOR" ]; then \
echo "Installing molecule 'v$MOLECULE_VERSION' ..." && \
pip install -qq --no-cache-dir molecule~="$MOLECULE_VERSION"; \
else \
echo "Installing latest molecule ..." && \
pip install -qq --no-cache-dir molecule; \
fi && \
apk del .build-deps && \
rm -rf /var/cache/apk/* && \
rm -rf /tmp/* && \
rm -rf /root/.cache/
USER root
CMD []
ENTRYPOINT ["/bin/molecule"]