fix(dockerfile): improve documentation and change working directory (#4)
build and deploy Speckle functions / publish-automate-function-version (push) Has been cancelled

- Installs code at /home/speckle to prevent collisions with files & directories in the root (/) directory
- Updates the README and provides instructions for building and testing the docker image locally
- Updated inline documentation in Dockerfile
This commit is contained in:
Iain Sproat
2023-11-02 12:32:59 +00:00
committed by GitHub
parent 522ce594a3
commit 2b8bbd68b3
2 changed files with 61 additions and 24 deletions
+12 -2
View File
@@ -1,6 +1,16 @@
# We use the official Python 3.11 image as our base image and will add our code to it. For more details, see https://hub.docker.com/_/python
FROM python:3.11-slim
# We install poetry to generate a list of dependencies which will be required by our application
RUN pip install poetry
COPY . .
RUN poetry export -f requirements.txt --output requirements.txt && pip install -r requirements.txt
# We set the working directory to be the /home/speckle directory; all of our files will be copied here.
WORKDIR /home/speckle
# Copy all of our code and assets from the local directory into the /home/speckle directory of the container.
# We also ensure that the user 'speckle' owns these files, so it can access them
# This assumes that the Dockerfile is in the same directory as the rest of the code
COPY . /home/speckle
# Using poetry, we generate a list of requirements, save them to requirements.txt, and then use pip to install them
RUN poetry export --format requirements.txt --output /home/speckle/requirements.txt && pip install --requirement /home/speckle/requirements.txt