Skip to content

Commit

Permalink
add Docker file for model service (#113)
Browse files Browse the repository at this point in the history
  • Loading branch information
cyjseagull authored Dec 6, 2024
1 parent 9609ec7 commit af06ae8
Show file tree
Hide file tree
Showing 3 changed files with 132 additions and 8 deletions.
48 changes: 40 additions & 8 deletions docker-files/cpp/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,48 @@ RUN git clone https://github.com/WeBankBlockchain/WeDPR-Component.git --recursiv
&& cmake .. -DBUILD_STATIC=ON && make -j8 && cat /WeDPR-Component/cpp/build/*.log


FROM ubuntu:18.04
FROM ubuntu:18.04 as wedpr-gateway-service
LABEL maintainer [email protected]

RUN apt-get -q update && apt-get install -qy --no-install-recommends vim libkrb5-dev krb5-user pkg-config default-libmysqlclient-dev \
RUN apt-get -q update && apt-get install -qy --no-install-recommends vim \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& apt-get install -qy --no-install-recommends tzdata \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/*

COPY --from=builder /WeDPR-Component/cpp/build/bin/ppc-gateway-service /usr/local/bin/ppc-gateway-service
COPY --from=builder /WeDPR-Component/cpp/build/bin/ppc-pro-node /usr/local/bin/ppc-pro-node
COPY --from=builder /WeDPR-Component/cpp/build/bin/ppc-air-node /usr/local/bin/ppc-air-node
COPY --from=builder /WeDPR-Component/cpp/build/bin/wedpr-mpc /usr/local/bin/wedpr-mpc
&& rm -rf /var/lib/apt/lists/* \

RUN mkdir -p /data/home/wedpr/wedpr-gateway-service

COPY --from=builder /WeDPR-Component/cpp/build/bin/ppc-gateway-service /data/home/wedpr/wedpr-gateway-service/ppc-gateway-service

ENTRYPOINT ["/data/home/wedpr/wedpr-gateway-service/ppc-gateway-service", "-c", "config.ini"]


FROM ubuntu:18.04 as wedpr-pro-node-service
LABEL maintainer [email protected]

RUN apt-get -q update && apt-get install -qy --no-install-recommends vim libkrb5-dev krb5-user \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& apt-get install -qy --no-install-recommends tzdata \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/* \

RUN mkdir -p /data/home/wedpr/wedpr-pro-node-service

COPY --from=builder /WeDPR-Component/cpp/build/bin/ppc-pro-node /data/home/wedpr/wedpr-pro-node-service/ppc-pro-node

ENTRYPOINT ["/data/home/wedpr/wedpr-pro-node-service/ppc-pro-node", "-c", "config.ini"]

FROM ubuntu:18.04 as wedpr-mpc-service
LABEL maintainer [email protected]

RUN apt-get -q update && apt-get install -qy --no-install-recommends vim libkrb5-dev krb5-user \
&& ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& apt-get install -qy --no-install-recommends tzdata \
&& dpkg-reconfigure --frontend noninteractive tzdata \
&& rm -rf /var/lib/apt/lists/* \

RUN mkdir -p /data/home/wedpr/wedpr-mpc-service

COPY --from=builder /WeDPR-Component/cpp/build/bin/wedpr-mpc /data/home/wedpr/wedpr-mpc-service/wedpr-mpc

ENTRYPOINT ["/data/home/wedpr/wedpr-mpc-service/wedpr-mpc", "-c", "config.ini"]
33 changes: 33 additions & 0 deletions docker-files/model/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
FROM wedpr-image:latest as wedpr-model-service

LABEL maintainer [email protected]

ENV LANG zh_CN.UTF-8
ENV LANGUAGE zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8

WORKDIR /data/home/wedpr
ARG SOURCE_BRANCH
ENV DEBIAN_FRONTEND=noninteractive \
SOURCE=${SOURCE_BRANCH:-master}

RUN mkdir -p /data/home/wedpr
# copy requirements
COPY depends/requirements.txt /data/home/wedpr/requirements.txt

# install the requirements
RUN pip install --no-cache-dir -i https://pypi.mirrors.ustc.edu.cn/simple/ -r /data/home/wedpr/requirements.txt

# obtain the source
RUN git clone https://github.com/WeBankBlockchain/WeDPR-Component.git --recursive --depth=1 -b ${SOURCE}
# move the files to the /data/app path
RUN mkdir -p /data/home/wedpr/wedpr-model/ \
&& mv /data/home/wedpr/WeDPR-Component/python/ppc_common /data/home/wedpr/wedpr-model/ppc-common \
&& mv /data/home/wedpr/WeDPR-Component/python/ppc_model /data/home/wedpr/wedpr-model/ppc-model \
&& mv /data/home/wedpr/WeDPR-Component/python/aes_key.bin /data/home/wedpr/wedpr-model/ppc-model \
&& cp /data/home/wedpr/model/ppc-model/tools/*.sh /data/home/wedpr/wedpr-model/ppc-model

# clear the WeDPR-Component
RUN rm -rf /data/home/wedpr/WeDPR-Component

ENTRYPOINT ["/bin/bash", "/data/home/wedpr/wedpr-model/start.sh", "true"]
59 changes: 59 additions & 0 deletions docker-files/model/depends/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
cx-Oracle==8.3.0
click>=8.0
pytest
cheroot==8.5.2
flask_restx==1.3.0
configobj~=5.0.6
Flask_SQLAlchemy==3.1.0
cryptography~=41.0.5
pandas
hypothesis~=5.48.0
parsimonious~=0.8.1
SQLAlchemy==2.0.16
argcomplete~=1.12.2
cytoolz~=0.10.1
six~=1.15.0
attrdict~=2.0.1
Flask~=2.2.5
pymitter~=0.3.0
requests~=2.31.0
requests_toolbelt==0.9.1
lru_dict==1.1.6
promise~=2.3
#protobuf==3.19.0
# protobuf>=4.21.6,<5.0dev
protobuf>=5.27.1
pycryptodome==3.9.9
pyjwt
pyyaml
mysqlclient==2.1.0
waitress==3.0.0
sqlparse~=0.4.1
toolz~=0.11.1
tenacity==7.0.0
coincurve~=13.0.0
google~=3.0.0
paste~=3.5.0
func_timeout==4.3.0
cheroot==8.5.2
gmssl~=3.2.1
readerwriterlock~=1.0.4
jsoncomment~=0.2.3
matplotlib~=3.2.2
seaborn~=0.10.1
sqlvalidator==0.0.17
requests-toolbelt==0.9.1
hdfs
scikit-learn~=0.24.2
gmpy2
networkx
pydot
snowland-smx
numpy==1.23.1
graphviz
xlrd~=1.0.0
MarkupSafe>=2.1.1
urllib3==1.26.18
phe
chardet
requests_kerberos>=0.15.0

0 comments on commit af06ae8

Please sign in to comment.