makes install available for all users in docker image (#3202)
* makes install available for all users in docker image moves the installation path from /root/.local to a virtualenv. this way we still get the lightweight multistage build without excluding non-root users. * adds changelog entry for docker-image fix A changelog entry has been added under the Integration subheader * changes dockerfile to use the venv activate script we are now using the inbuilt venv activate script, as well as explicitly mentioning the binary location in the entrypoint cmd. Co-authored-by: Nicolò <nicolo.intrieri@spinforward.it> Co-authored-by: Cooper Lees <me@cooperlees.com>
This commit is contained in:
parent
b776bf92ad
commit
f066e3fcae
@ -47,6 +47,8 @@
|
|||||||
<!-- For example, Docker, GitHub Actions, pre-commit, editors -->
|
<!-- For example, Docker, GitHub Actions, pre-commit, editors -->
|
||||||
|
|
||||||
- Vim plugin: prefix messages with `Black: ` so it's clear they come from Black (#3194)
|
- Vim plugin: prefix messages with `Black: ` so it's clear they come from Black (#3194)
|
||||||
|
- Docker: changed to a /opt/venv installation + added to PATH to be available to
|
||||||
|
non-root users (#3202)
|
||||||
|
|
||||||
### Output
|
### Output
|
||||||
|
|
||||||
|
12
Dockerfile
12
Dockerfile
@ -2,16 +2,18 @@ FROM python:3-slim AS builder
|
|||||||
|
|
||||||
RUN mkdir /src
|
RUN mkdir /src
|
||||||
COPY . /src/
|
COPY . /src/
|
||||||
RUN pip install --no-cache-dir --upgrade pip setuptools wheel \
|
ENV VIRTUAL_ENV=/opt/venv
|
||||||
|
RUN python -m venv $VIRTUAL_ENV
|
||||||
|
RUN . /opt/venv/bin/activate && pip install --no-cache-dir --upgrade pip setuptools wheel \
|
||||||
# Install build tools to compile dependencies that don't have prebuilt wheels
|
# Install build tools to compile dependencies that don't have prebuilt wheels
|
||||||
&& apt update && apt install -y git build-essential \
|
&& apt update && apt install -y git build-essential \
|
||||||
&& cd /src \
|
&& cd /src \
|
||||||
&& pip install --user --no-cache-dir .[colorama,d]
|
&& pip install --no-cache-dir .[colorama,d]
|
||||||
|
|
||||||
FROM python:3-slim
|
FROM python:3-slim
|
||||||
|
|
||||||
# copy only Python packages to limit the image size
|
# copy only Python packages to limit the image size
|
||||||
COPY --from=builder /root/.local /root/.local
|
COPY --from=builder /opt/venv /opt/venv
|
||||||
ENV PATH=/root/.local/bin:$PATH
|
ENV PATH="/opt/venv/bin:$PATH"
|
||||||
|
|
||||||
CMD ["black"]
|
CMD ["/opt/venv/bin/black"]
|
||||||
|
Loading…
Reference in New Issue
Block a user