-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathDockerfile-platform
64 lines (56 loc) · 2.45 KB
/
Dockerfile-platform
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
FROM pytorch/pytorch:1.9.0-cuda10.2-cudnn7-runtime
# Install common tools
RUN apt-get update -y && \
apt-get install -y gcc g++ gfortran nano vim-tiny vim iputils-ping dnsutils less curl unzip jq screen
# Configure container
ENV KUBECTL_COMMAND_HEADERS=false
ENV PYTHONPATH="/src/python:${PYTHONPATH}"
ENV PATH=$PATH:.
RUN sed -i /etc/vim/vimrc.tiny -e 's/set compatible/set nocompatible/g'
RUN echo "alias ll='ls -alh --color=auto'" >> /root/.bashrc
RUN mkdir -p /wd /src/python/pm/model/predict/grpc/compiled /app/pm
RUN ln -s /wd /app/pm/wd
RUN ln -s /src /app/pm/src
# Add container content
ADD Container-Root/src/python/lib /src/python/lib
ADD Container-Root/src/python/pm /src/python/pm
ADD Container-Root/src/python/ui /src/python/ui
ADD to /app/pm/to
COPY Container-Root/src/python/technique/model_serve_grpc/model_interface.proto /src/python/pm/model/predict/grpc/model_interface.proto
COPY Container-Root/src/python/technique/model_serve_grpc/*.proto /src/python/technique/model_serve_grpc/
COPY *.sh .env .fun .fun2 .fun3 pm ev-* /app/pm/
COPY Container-Root/startup.sh /startup.sh
COPY Container-Root/init.sh /init.sh
COPY Container-Root/test*.sh /
COPY Container-Root/src/python/example/ev/technique/ev_data_select/technique_registration_ev_data_select.json /src/python/example/ev/technique/ev_data_select/technique_registration_ev_data_select.json
COPY Container-Root/src/python/example/ev/ev_fleet_demo*.* /src/python/example/ev/
# Run install scripts
ADD install /install
# Install AWS cli
RUN /install/install-aws-cli.sh
# Install grpcurl
RUN /install/install-grpcurl.sh
# Install Docker
RUN /install/install-docker.sh
# Install Docker Compose
RUN /install/install-docker-compose.sh
# Install kubectl
RUN /install/install-kubectl.sh
# Install kubectx
RUN /install/install-kubectx.sh
# Install and configure kubeps1
RUN /install/install-kubeps1.sh
# Install kubetail
RUN /install/install-kubetail.sh
# Install kubeshell
RUN /install/install-kubeshell.sh
# Install Python Libraries
RUN pip install --upgrade pip
RUN pip install -r /src/python/pm/requirements.txt -U
# Compile Protobuf object
RUN python3 -m grpc_tools.protoc -I. --proto_path=/src/python/pm/model/predict/grpc --python_out=/src/python/pm/model/predict/grpc/compiled --grpc_python_out=/src/python/pm/model/predict/grpc/compiled model_interface.proto
# Set work directory
# We use symbolic links wd and pm inside /aws/pm to emulate the external project structure
WORKDIR /app/pm
# Default cmd
CMD ["/startup.sh"]