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"]