Skip to content

Commit 14e0c51

Browse files
committed
fix file paths
1 parent 8ad22ef commit 14e0c51

File tree

1 file changed

+27
-18
lines changed

1 file changed

+27
-18
lines changed

template/test.Dockerfile

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
FROM python:3.10.14
22

3+
# Create a non-root user
4+
RUN useradd -m -s /bin/bash user
5+
ENV HOME=/home/user
6+
37
ENV JAVA_HOME=/opt/java/openjdk
48
COPY --from=eclipse-temurin:11-jdk $JAVA_HOME $JAVA_HOME
59
ENV PATH="${JAVA_HOME}/bin:${PATH}"
610

711
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends \
8-
build-essential curl git util-linux jq sudo nodejs npm fonts-noto-cjk
9-
10-
RUN mkdir -p /home/user/.jupyter /home/user/.ipython /home/user/.server
12+
build-essential curl git util-linux jq nodejs npm fonts-noto-cjk
1113

1214
ENV PIP_DEFAULT_TIMEOUT=100 \
1315
PIP_DISABLE_PIP_VERSION_CHECK=1 \
1416
PIP_NO_CACHE_DIR=1 \
15-
JUPYTER_CONFIG_PATH="/home/user/.jupyter" \
16-
IPYTHON_CONFIG_PATH="/home/user/.ipython" \
17-
SERVER_PATH="/home/user/.server"
17+
JUPYTER_CONFIG_PATH="$HOME/.jupyter" \
18+
IPYTHON_CONFIG_PATH="$HOME/.ipython" \
19+
SERVER_PATH="$HOME/.server"
1820

1921
# Install Jupyter
20-
COPY ./requirements.txt requirements.txt
22+
COPY ./template/requirements.txt requirements.txt
2123
RUN pip install --no-cache-dir -r requirements.txt && ipython kernel install --name "python3" --user
2224

2325
# Javascript Kernel
@@ -29,34 +31,41 @@ RUN ijsinstall --install=global
2931
COPY --from=denoland/deno:bin-2.0.4 /deno /usr/bin/deno
3032
RUN chmod +x /usr/bin/deno
3133
RUN deno jupyter --unstable --install
32-
COPY ./deno.json /home/user/.local/share/jupyter/kernels/deno/kernel.json
34+
COPY ./template/deno.json $HOME/.local/share/jupyter/kernels/deno/kernel.json
3335

3436
# Create separate virtual environment for server
3537
RUN python -m venv $SERVER_PATH/.venv
3638

3739
# Copy server and its requirements
3840
RUN mkdir -p $SERVER_PATH/
39-
COPY ./server/requirements.txt $SERVER_PATH
41+
COPY ./template/server/requirements.txt $SERVER_PATH
4042
RUN $SERVER_PATH/.venv/bin/pip install --no-cache-dir -r $SERVER_PATH/requirements.txt
41-
COPY ./server $SERVER_PATH
43+
COPY ./template/server $SERVER_PATH
4244

4345
# Copy matplotlibrc
44-
COPY ./matplotlibrc /home/user/.config/matplotlib/matplotlibrc
46+
COPY ./template/matplotlibrc $HOME/.config/matplotlib/matplotlibrc
4547

4648
# Copy Jupyter configuration
47-
COPY ./start-up.sh $JUPYTER_CONFIG_PATH/
49+
COPY ./template/start-up.sh $JUPYTER_CONFIG_PATH/
4850
RUN chmod +x $JUPYTER_CONFIG_PATH/start-up.sh
4951

50-
COPY ./jupyter_server_config.py $JUPYTER_CONFIG_PATH/
52+
COPY ./template/jupyter_server_config.py $JUPYTER_CONFIG_PATH/
5153

5254
RUN mkdir -p $IPYTHON_CONFIG_PATH/profile_default
53-
COPY ./ipython_kernel_config.py $IPYTHON_CONFIG_PATH/profile_default/
55+
COPY ./template/ipython_kernel_config.py $IPYTHON_CONFIG_PATH/profile_default/
5456

5557
RUN mkdir -p $IPYTHON_CONFIG_PATH/profile_default/startup
56-
COPY ./startup_scripts/* $IPYTHON_CONFIG_PATH/profile_default/startup
58+
COPY ./template/startup_scripts/* $IPYTHON_CONFIG_PATH/profile_default/startup
5759

5860
# Setup entrypoint for local development
59-
WORKDIR /home/user
60-
# COPY ./chart_data_extractor ./chart_data_extractor
61-
# RUN pip install -e ./chart_data_extractor
61+
WORKDIR $HOME
62+
COPY ./chart_data_extractor ./chart_data_extractor
63+
RUN pip install -e ./chart_data_extractor
64+
65+
# Set ownership of all files to the user
66+
RUN chown -R user:user $HOME
67+
68+
# Switch to non-root user
69+
USER user
70+
6271
ENTRYPOINT $JUPYTER_CONFIG_PATH/start-up.sh

0 commit comments

Comments
 (0)