Rewriting Dockerfiles with dynamic parameters (#695)

* Rewriting Dockerfiles with dynamic parameters

* Adding procps, bumping python container version and adding a source label
This commit is contained in:
Artem Veremey
2021-08-21 12:55:17 -07:00
committed by GitHub
parent 1660fe55e5
commit d0a2f61213
9 changed files with 85 additions and 9 deletions

17
docker/compose.env vendored Normal file
View File

@@ -0,0 +1,17 @@
GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
GST_DOCKER_PYTHON_VERSION="1.1.0"
GST_DOCKER_DEPS_VERSION="1.2.0"
GST_DOCKER_POETRY_DEPS_VERSION="1.2.0"
GST_DOCKER_POETRY_FULL_DEPS_VERSION="1.2.0"
GST_DOCKER_GST_VERSION="1.2.0"
GST_DOCKER_POETRY_VERSION="1.2.0"
GST_DOCKER_POETRY_FULL_VERSION="1.2.0"
export GST_DOCKER_IMAGE_PREFIX
export GST_DOCKER_PYTHON_VERSION
export GST_DOCKER_DEPS_VERSION
export GST_DOCKER_POETRY_DEPS_VERSION
export GST_DOCKER_POETRY_FULL_DEPS_VERSION
export GST_DOCKER_GST_VERSION
export GST_DOCKER_POETRY_VERSION
export GST_DOCKER_POETRY_FULL_VERSION

View File

@@ -4,28 +4,58 @@ services:
build:
context: ..
dockerfile: docker/gst-python.dockerfile
image: gst/gst-python:1.0.0
image: "${GST_DOCKER_IMAGE_PREFIX}/gst-python:${GST_DOCKER_PYTHON_VERSION}"
gst-deps:
build:
context: ..
dockerfile: docker/gst-deps.dockerfile
image: gst/gst-deps:1.0.0
args:
GST_DOCKER_IMAGE_PREFIX: ${GST_DOCKER_IMAGE_PREFIX}
GST_DOCKER_PYTHON_VERSION: ${GST_DOCKER_PYTHON_VERSION}
image: "${GST_DOCKER_IMAGE_PREFIX}/gst-deps:${GST_DOCKER_DEPS_VERSION}"
gst-poetry-deps:
build:
context: ..
dockerfile: docker/gst-poetry-deps.dockerfile
image: gst/gst-poetry-deps:1.0.0
args:
GST_DOCKER_IMAGE_PREFIX: ${GST_DOCKER_IMAGE_PREFIX}
GST_DOCKER_PYTHON_VERSION: ${GST_DOCKER_PYTHON_VERSION}
image: "${GST_DOCKER_IMAGE_PREFIX}/gst-poetry-deps:${GST_DOCKER_POETRY_DEPS_VERSION}"
gst-poetry-full-deps:
build:
context: ..
dockerfile: docker/gst-poetry-full-deps.dockerfile
args:
GST_DOCKER_IMAGE_PREFIX: ${GST_DOCKER_IMAGE_PREFIX}
GST_DOCKER_PYTHON_VERSION: ${GST_DOCKER_PYTHON_VERSION}
image: "${GST_DOCKER_IMAGE_PREFIX}/gst-poetry-full-deps:${GST_DOCKER_POETRY_FULL_DEPS_VERSION}"
gst:
build:
context: ..
dockerfile: docker/gst.dockerfile
image: gst/gst:1.1.0
args:
GST_DOCKER_IMAGE_PREFIX: ${GST_DOCKER_IMAGE_PREFIX}
GST_DOCKER_DEPS_VERSION: ${GST_DOCKER_DEPS_VERSION}
image: "${GST_DOCKER_IMAGE_PREFIX}/gst:${GST_DOCKER_GST_VERSION}"
tty: true
env_file: setenv
gst-poetry:
build:
context: ..
dockerfile: docker/gst-poetry.dockerfile
image: gst/gst-poetry:1.1.0
args:
GST_DOCKER_IMAGE_PREFIX: ${GST_DOCKER_IMAGE_PREFIX}
GST_DOCKER_POETRY_DEPS_VERSION: ${GST_DOCKER_POETRY_DEPS_VERSION}
image: "${GST_DOCKER_IMAGE_PREFIX}/gst-poetry:${GST_DOCKER_POETRY_VERSION}"
tty: true
env_file: setenv
gst-poetry-full:
build:
context: ..
dockerfile: docker/gst-poetry-full.dockerfile
args:
GST_DOCKER_IMAGE_PREFIX: ${GST_DOCKER_IMAGE_PREFIX}
GST_DOCKER_POETRY_DEPS_VERSION: ${GST_DOCKER_POETRY_FULL_DEPS_VERSION}
image: "${GST_DOCKER_IMAGE_PREFIX}/gst-poetry-full:${GST_DOCKER_POETRY_FULL_VERSION}"
tty: true
env_file: setenv

View File

@@ -1,4 +1,6 @@
FROM gst/gst-python:1.0.0
ARG GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
ARG GST_DOCKER_PYTHON_VERSION="1.0.0"
FROM ${GST_DOCKER_IMAGE_PREFIX}/gst-python:${GST_DOCKER_PYTHON_VERSION}
COPY --chown=python:python requirements.txt /home/python/

View File

@@ -1,4 +1,6 @@
FROM gst/gst-python:1.0.0
ARG GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
ARG GST_DOCKER_PYTHON_VERSION="1.0.0"
FROM ${GST_DOCKER_IMAGE_PREFIX}/gst-python:${GST_DOCKER_PYTHON_VERSION}
COPY --chown=python:python pyproject.toml poetry.lock /home/python/

11
docker/gst-poetry-full-deps.dockerfile vendored Normal file
View File

@@ -0,0 +1,11 @@
ARG GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
ARG GST_DOCKER_PYTHON_VERSION="1.0.0"
FROM ${GST_DOCKER_IMAGE_PREFIX}/gst-python:${GST_DOCKER_PYTHON_VERSION}
COPY --chown=python:python pyproject.toml poetry.lock /home/python/
RUN mkdir /home/python/gamestonk_terminal && \
touch gamestonk_terminal/__init__.py && \
chown python:python /home/python/gamestonk_terminal /home/python/gamestonk_terminal/__init__.py && \
poetry install && \
poetry install -E prediction

7
docker/gst-poetry-full.dockerfile vendored Normal file
View File

@@ -0,0 +1,7 @@
ARG GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
ARG GST_DOCKER_POETRY_FULL_DEPS_VERSION="1.2.0"
FROM ${GST_DOCKER_IMAGE_PREFIX}/gst-poetry-full-deps:${GST_DOCKER_POETRY_FULL_DEPS_VERSION}
COPY --chown=python:python . .
CMD ["bash", "docker/entry-point-poetry.sh"]

View File

@@ -1,4 +1,6 @@
FROM gst/gst-poetry-deps:1.0.0
ARG GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
ARG GST_DOCKER_POETRY_DEPS_VERSION="1.2.0"
FROM ${GST_DOCKER_IMAGE_PREFIX}/gst-poetry-deps:${GST_DOCKER_POETRY_DEPS_VERSION}
COPY --chown=python:python . .

View File

@@ -1,5 +1,7 @@
FROM python:3.8-slim-buster
LABEL org.opencontainers.image.source https://github.com/GamestonkTerminal/GamestonkTerminal
RUN apt-get update && apt-get -y install --no-install-recommends \
gcc \
g++ \
@@ -18,6 +20,7 @@ RUN apt-get update && apt-get -y install --no-install-recommends \
libxt6 \
libgl1-mesa-glx \
libpng16-16 \
procps \
python3-tk && \
apt-get -y autoremove && \
apt-get clean && \

View File

@@ -1,4 +1,6 @@
FROM gst/gst-deps:1.0.0
ARG GST_DOCKER_IMAGE_PREFIX="ghcr.io/gamestonkterminal"
ARG GST_DOCKER_DEPS_VERSION="1.2.0"
FROM ${GST_DOCKER_IMAGE_PREFIX}/gst-deps:${GST_DOCKER_DEPS_VERSION}
COPY --chown=python:python . .