mirror of
				https://github.com/ansible-collections/community.general.git
				synced 2024-09-14 20:13:21 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM ubuntu:16.04
 | 
						|
 | 
						|
COPY docker/deadsnakes.list /etc/apt/sources.list.d/deadsnakes.list
 | 
						|
 | 
						|
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F23C5A6CF475977595C89F51BA6932366A755776
 | 
						|
 | 
						|
RUN apt-get update -y && \
 | 
						|
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
 | 
						|
    ca-certificates \
 | 
						|
    curl \
 | 
						|
    gcc \
 | 
						|
    git \
 | 
						|
    libbz2-dev \
 | 
						|
    libffi-dev \
 | 
						|
    libreadline-dev \
 | 
						|
    libsqlite3-dev \
 | 
						|
    libxml2-dev \
 | 
						|
    libxslt1-dev \
 | 
						|
    locales \
 | 
						|
    make \
 | 
						|
    openssh-client \
 | 
						|
    openssl \
 | 
						|
    python2.6-dev \
 | 
						|
    python2.7-dev \
 | 
						|
    python3.5-dev \
 | 
						|
    python3.6-dev \
 | 
						|
    shellcheck \
 | 
						|
    && \
 | 
						|
    apt-get clean
 | 
						|
 | 
						|
ADD https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer /tmp/pyenv-installer
 | 
						|
RUN bash -c 'PYENV_ROOT=/usr/local/opt/pyenv bash /tmp/pyenv-installer'
 | 
						|
COPY docker/python* /tmp/
 | 
						|
RUN bash -c 'PYENV_ROOT=/usr/local/opt/pyenv /usr/local/opt/pyenv/bin/pyenv install /tmp/python3.7.0a2'
 | 
						|
RUN ln -s /usr/local/opt/pyenv/versions/python3.7.0a2/bin/python3.7 /usr/local/bin/python3.7
 | 
						|
RUN ln -s /usr/local/opt/pyenv/versions/python3.7.0a2/bin/pip3.7 /usr/local/bin/pip3.7
 | 
						|
 | 
						|
RUN rm /etc/apt/apt.conf.d/docker-clean
 | 
						|
RUN locale-gen en_US.UTF-8
 | 
						|
VOLUME /sys/fs/cgroup /run/lock /run /tmp
 | 
						|
 | 
						|
ADD https://bootstrap.pypa.io/get-pip.py /tmp/get-pip.py
 | 
						|
 | 
						|
COPY requirements/*.txt /tmp/requirements/
 | 
						|
COPY docker/requirements.sh /tmp/
 | 
						|
RUN cd /tmp/requirements && /tmp/requirements.sh
 | 
						|
 | 
						|
RUN ln -s python2.7 /usr/bin/python2
 | 
						|
RUN ln -s python3.6 /usr/bin/python3
 | 
						|
RUN ln -s python3   /usr/bin/python
 | 
						|
 | 
						|
# Install dotnet core SDK, pwsh, and other PS/.NET sanity test tools.
 | 
						|
# For now, we need to manually purge XML docs and other items from a Nuget dir to vastly reduce the image size.
 | 
						|
# See https://github.com/dotnet/dotnet-docker/issues/237 for details.
 | 
						|
RUN apt-get update -y && \
 | 
						|
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
 | 
						|
    apt-transport-https \
 | 
						|
    && \
 | 
						|
    apt-get clean
 | 
						|
ADD https://packages.microsoft.com/config/ubuntu/16.04/prod.list /etc/apt/sources.list.d/microsoft.list
 | 
						|
RUN curl --silent https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
 | 
						|
RUN apt-get update -y && \
 | 
						|
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
 | 
						|
    dotnet-sdk-2.1.4 \
 | 
						|
    powershell \
 | 
						|
    && \
 | 
						|
    find /usr/share/dotnet/sdk/NuGetFallbackFolder/ -name '*.xml' -type f -delete \
 | 
						|
    && \
 | 
						|
    apt-get clean
 | 
						|
RUN dotnet --version
 | 
						|
RUN pwsh --version
 | 
						|
COPY requirements/sanity.ps1 /tmp/
 | 
						|
RUN /tmp/sanity.ps1
 | 
						|
 | 
						|
ENV container=docker
 | 
						|
CMD ["/sbin/init"]
 |