40 lines
1.6 KiB
Docker
40 lines
1.6 KiB
Docker
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.224.2/containers/python-3/.devcontainer/base.Dockerfile
|
|
|
|
# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster
|
|
ARG VARIANT="3.10-bullseye"
|
|
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}
|
|
|
|
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
|
|
ARG NODE_VERSION="none"
|
|
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
|
|
|
|
# install poetry - respects $POETRY_VERSION & $POETRY_HOME
|
|
|
|
RUN echo "export PROMPT_COMMAND='history -a'" >> /home/vscode/.bashrc \
|
|
&& echo "export HISTFILE=~/commandhistory/.bash_history" >> /home/vscode/.bashrc \
|
|
&& chown vscode:vscode -R /home/vscode/
|
|
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PIP_NO_CACHE_DIR=off \
|
|
PIP_DISABLE_PIP_VERSION_CHECK=on \
|
|
PIP_DEFAULT_TIMEOUT=100 \
|
|
POETRY_HOME="/opt/poetry" \
|
|
POETRY_VIRTUALENVS_CREATE=false
|
|
|
|
# prepend poetry and venv to path
|
|
ENV PATH="$POETRY_HOME/bin:$PATH"
|
|
|
|
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
|
|
# RUN poetry config virtualenvs.create false
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install --no-install-recommends -y \
|
|
curl \
|
|
build-essential \
|
|
libpq-dev \
|
|
libwebp-dev \
|
|
libsasl2-dev libldap2-dev libssl-dev \
|
|
gnupg gnupg2 gnupg1
|
|
# && pip install -U --no-cache-dir pip
|