forked from primihub/primihub
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.local
47 lines (38 loc) · 1.29 KB
/
Dockerfile.local
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
FROM ubuntu:20.04 as runner
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y python3.9 python3.9-dev libgmp-dev python3-pip git \
&& rm -rf /var/lib/apt/lists/*
ARG TARGET_PATH=/root/.cache/bazel/_bazel_root/17a1cd4fb136f9bc7469e0db6305b35a/execroot/__main__/bazel-out/k8-fastbuild/bin
WORKDIR $TARGET_PATH
# Copy binaries to TARGET_PATH
COPY . ./
# Copy test data files to /tmp/
COPY ./data/ /tmp/
# Change WorkDir to /app
WORKDIR /app
# Make symlink to primihub-node & primihub-cli
RUN ln -s $TARGET_PATH/node /app/primihub-node && ln -s $TARGET_PATH/cli /app/primihub-cli
# Copy all test config files to /app
COPY ./config ./config
# Copy primihub python sources to /app and setup to system python3
COPY ./python ./python
COPY ./src ./src
WORKDIR /app/python
RUN python3.9 -m pip install --upgrade pip \
&& python3.9 -m pip install --no-cache-dir -r requirements.txt
RUN python3.9 -m pip install cloudpickle
RUN python3.9 -m pip uninstall primihub \
RUN python3.9 setup.py install
RUN python3.9 setup.py develop
WORKDIR /app
RUN ln -s /app/python /app/primihub_python
ENV PYTHONPATH=/usr/lib/python3.9/site-packages/:$TARGET_PATH
# gRPC server port
EXPOSE 50050 8888
# Cryptool port
EXPOSE 12120
EXPOSE 12121