-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile_standalone
31 lines (31 loc) · 1.47 KB
/
Dockerfile_standalone
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
FROM python:3.7-slim
LABEL maintainer = "Webank CTB Team"
# Install logrotate
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
COPY api/terminal/requirements.txt /tmp/requirements.txt
COPY api/terminal/dist/* /tmp/
# Install && Clean up
RUN apt update && apt-get -y install gcc python3-dev swig libssl-dev && \
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r /tmp/requirements.txt && \
pip3 install /tmp/*.whl && \
rm -rf /root/.cache && apt autoclean && \
rm -rf /tmp/* /var/lib/apt/* /var/cache/* && \
apt purge -y `cat /var/log/apt/history.log|grep 'Install: '|tail -1| sed 's/Install://'| sed 's/\ /\n/g' | sed '/(/d' | sed '/)/d' | sed ':l;N;s/\n/ /;b l'`
# Add ssh client & telnet command for user to test
RUN apt update && apt -y install openssh-client telnet && rm -rf /root/.cache && apt autoclean && \
rm -rf /tmp/* /var/lib/apt/* /var/cache/*
# Use app:app to run gunicorn
RUN mkdir -p /etc/terminal/
RUN mkdir -p /var/log/terminal/
RUN mkdir -p /data/terminal/records
RUN mkdir -p /data/terminal/ui
COPY api/terminal/etc /etc/terminal
COPY ui/dist/ /data/terminal/ui/
# RUN adduser --disabled-password app
# RUN chown -R app:app /etc/terminal/
# RUN chown -R app:app /var/log/terminal/
# USER app
COPY build/start_all.sh /scripts/start_all.sh
RUN chmod +x /scripts/start_all.sh
CMD ["/bin/sh","-c","/scripts/start_all.sh"]