Skip to content

Instantly share code, notes, and snippets.

@jordemort
Created April 9, 2019 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jordemort/691b64cb611c8a20903fccdd6db6e59f to your computer and use it in GitHub Desktop.
Save jordemort/691b64cb611c8a20903fccdd6db6e59f to your computer and use it in GitHub Desktop.
FROM debian:stretch-slim
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get dist-upgrade -y && apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
curl \
git \
libbz2-dev \
libdb5.3-dev \
libexpat1-dev \
libffi-dev \
liblzma-dev \
libncursesw5-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtinfo-dev \
patchelf \
zlib1g-dev
RUN mkdir -p /dockto
WORKDIR /dockto
RUN git clone https://github.com/pyenv/pyenv
ENV PYENV_ROOT=/dockto/pyenv PATH=/dockto/pyenv/bin:${PATH}
RUN pyenv install 3.7.3
RUN mkdir -p /dockto/debs /dockto/tmp /dockto/lib
WORKDIR /dockto/debs
RUN apt-get download \
libbz2-1.0 \
libc6 \
libdb5.3 \
libexpat1 \
libffi6 \
libgcc1 \
liblzma5 \
libmpdec2 \
libncursesw5 \
libreadline7 \
libsqlite3-0 \
libssl1.1 \
libtinfo5 \
zlib1g
WORKDIR /dockto/tmp
RUN for deb in /dockto/debs/*.deb ; do \
ar vx "$deb" &&\
tar -xvf data.tar.xz &&\
cp -av $(find ./lib ./usr/lib -mindepth 1 -maxdepth 1) /dockto/lib &&\
rm -rf /doctko/tmp/* ; done
RUN patchelf \
--no-default-lib \
--set-rpath /dockto/lib/x86_64-linux-gnu \
--set-interpreter /dockto/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 \
/dockto/pyenv/versions/3.7.3/bin/python3.7m
RUN for elf in /dockto/pyenv/versions/3.7.3/lib/python3.7/lib-dynload/*.so ; do \
patchelf \
--no-default-lib \
--set-rpath /dockto/lib/x86_64-linux-gnu \
"$elf" ; done
FROM debian:stretch-slim
COPY --from=0 /dockto/lib /dockto/lib
COPY --from=0 /dockto/pyenv/versions/3.7.3 /dockto/pyenv/versions/3.7.3
RUN mkdir /dockto/bin && for bin in /dockto/pyenv/versions/3.7.3/bin/* ; do \
(cd /dockto/bin && ln -s "$bin" .) ; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment