DockerRobot/cloud-center/Dockerfile

71 lines
2.3 KiB
Docker

FROM python:3
# image info
LABEL Project="CloudCenter"
LABEL Author="lzwang"
LABEL Email="zhuangwang82@gmail.com"
LABEL Version=0.2
# setup volume
VOLUME /project
# setup workdir
WORKDIR /project
# setup mirrors of apt
# https://mirrors.tuna.tsinghua.edu.cn/help/debian/
RUN echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free" > /etc/apt/sources.list \
&& echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free" >> /etc/apt/sources.list \
&& echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free" >> /etc/apt/sources.list \
&& echo "deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list
# update apt packages
RUN apt-get update -y && apt-get upgrade -y \
&& apt-get install apt-utils -y \
&& rm -rf /var/lib/apt/lists/*
# install nodejs
# https://github.com/nodesource/distributions/blob/master/README.md#debinstall
RUN DEBIAN_FRONTEND=noninteractive \
&& curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# setup nodejs
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org \
&& echo "alias npm=cnpm" >> /root/.bashrc \
&& npm config set registry https://registry.npm.taobao.org
# copy gitsh script
COPY ./gitsh /project/tools/gitsh
RUN chmod +x /project/tools/gitsh
# setup mirrors of pip
# https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# python pip install dependencies
COPY ./requirements.txt /project/requirements.txt
# redis must > 4.0 (ignore slowapi requirement)
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -r requirements.txt \
&& pip install --no-cache-dir redis==4.3.4 \
&& rm -rf /root/.cache \
&& rm -rf /tmp/*
# install packages
RUN apt-get update -y && apt-get upgrade -y \
&& apt-get install vim pngquant -y \
&& rm -rf /var/lib/apt/lists/*
# setup alias
RUN echo "alias ll='ls -la'" >> /root/.bashrc
# setup timezone
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& date
# on start up
CMD ["python3", "/project/CloudCenter/main.py"]