docker/doc.coreboot.org: Install pip modules into virtual env

Currently, pip modules are installed system-wide, which may cause
conflicts with modules installed using the package manager. Newer
versions of the Alpine base image also mark its system wide Python
installation as an externally managed environment, which will cause
pip to return an error as per recent Python recommendations [1].

TEST:
- `make -C util/docker doc.coreboot.org` builds the container
  successfully
- `make -C util/docker docker-build-docs` builds the documentation
  successfully

[1] https://peps.python.org/pep-0668/

Change-Id: Idd9cc5e6fb28b42ef8e4fa5db01eb9ef192ba0ec
Signed-off-by: Nicholas Chin <nic.c3.14@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80311
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
diff --git a/util/docker/doc.coreboot.org/Dockerfile b/util/docker/doc.coreboot.org/Dockerfile
index df741d8..b45660d 100644
--- a/util/docker/doc.coreboot.org/Dockerfile
+++ b/util/docker/doc.coreboot.org/Dockerfile
@@ -3,15 +3,22 @@
 COPY makeSphinx.sh /makeSphinx.sh
 
 RUN apk add --no-cache python3 py3-pip make bash git openjdk8-jre ttf-dejavu fontconfig \
- && pip3 install --upgrade --no-cache-dir pip \
- && pip3 install --no-cache-dir  \
+ && chmod 755 /makeSphinx.sh
+RUN adduser -D coreboot
+
+USER coreboot
+ENV VIRTUAL_ENV="/home/coreboot/python3"
+ENV PATH=$VIRTUAL_ENV/bin:$PATH:/home/coreboot/.local/bin
+RUN python3 -m venv $VIRTUAL_ENV && \
+ echo "source ${VIRTUAL_ENV}/bin/activate"  >> /home/coreboot/.bashrc && \
+ pip3 install --upgrade --no-cache-dir pip && \
+ pip3 install --no-cache-dir \
   jinja2==3.1.2 \
   recommonmark===0.7.1\
   sphinx===6.2.1 \
   sphinxcontrib-ditaa===1.0.2 \
   sphinx_autobuild===2021.3.14 \
-  sphinx_rtd_theme===1.2.2 \
- && chmod 755 /makeSphinx.sh
+  sphinx_rtd_theme===1.2.2
 
 ADD https://github.com/stathissideris/ditaa/releases/download/v0.11.0/ditaa-0.11.0-standalone.jar \
     /usr/lib/ditaa-0.11.0-standalone.jar