chenglu commited on
Commit
78727e8
1 Parent(s): cbe0213

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +54 -0
Dockerfile ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Define a builder image
2
+ FROM python:3.10-bullseye as builder
3
+
4
+ ENV DEBIAN_FRONTEND=noninteractive
5
+ ENV LANG=C.UTF-8
6
+ RUN apt-get update \
7
+ && apt-get install -yq --no-install-recommends \
8
+ ca-certificates \
9
+ libcurl4-gnutls-dev \
10
+ libgnutls28-dev \
11
+ libmemcached-dev \
12
+ git \
13
+ nodejs \
14
+ npm
15
+
16
+ # Build requirements
17
+ COPY ./requirements-dev.txt /srv/nbviewer/
18
+ RUN python3 -mpip install -r /srv/nbviewer/requirements-dev.txt
19
+
20
+ WORKDIR /srv/nbviewer
21
+
22
+ # Copy source tree in
23
+ COPY . /srv/nbviewer
24
+ RUN python3 setup.py build && \
25
+ python3 -mpip wheel -vv -r requirements.txt . -w /wheels
26
+
27
+ # Now define the runtime image
28
+ FROM python:3.10-slim-bullseye
29
+ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
30
+
31
+ ENV DEBIAN_FRONTEND=noninteractive
32
+ ENV LANG=C.UTF-8
33
+
34
+ RUN apt-get update \
35
+ && apt-get install -yq --no-install-recommends \
36
+ ca-certificates \
37
+ libcurl4 \
38
+ libmemcached11 \
39
+ git \
40
+ && apt-get clean && rm -rf /var/lib/apt/lists/*
41
+
42
+
43
+ COPY --from=builder /wheels /wheels
44
+ RUN python3 -mpip install --no-cache /wheels/*
45
+
46
+ # To change the number of threads use
47
+ # docker run -d -e NBVIEWER_THREADS=4 -p 80:8080 nbviewer
48
+ ENV NBVIEWER_THREADS 2
49
+ WORKDIR /srv/nbviewer
50
+ EXPOSE 8080
51
+ USER nobody
52
+
53
+ EXPOSE 9000
54
+ CMD ["python", "-m", "nbviewer", "--port=8080"]