Dockerfile1 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. # 使用官方CentOS 7基础镜像
  2. FROM centos:xnyV1.3
  3. RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \
  4. sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo && \
  5. yum clean all && \
  6. yum makecache \
  7. # 安装基础依赖
  8. RUN yum -y update && \
  9. yum -y install \
  10. openssl-devel \
  11. bzip2-devel \
  12. libffi-devel \
  13. zlib-devel \
  14. sqlite-devel \
  15. readline-devel \
  16. xz-devel \
  17. tk-devel \
  18. libnsl2-devel \
  19. libtirpc-devel \
  20. gcc-c++ \
  21. && yum clean all
  22. # 安装Python 3.12
  23. RUN cd /tmp && \
  24. wget https://mirrors.huaweicloud.com/python/3.12.0/Python-3.12.0.tgz && \
  25. echo "51412956d86a61d1a7d227873d2b3697e1fccc16d7b3b5e2b6a8cd372d74edb9 Python-3.12.0.tgz" | sha256sum -c - && \
  26. tar xzf Python-3.12.0.tgz \
  27. cd Python-3.12.0 && \
  28. ./configure \
  29. --enable-optimizations \
  30. --with-lto=no \
  31. --enable-shared \
  32. --with-system-expat \
  33. --with-system-ffi \
  34. --with-ensurepip=yes \
  35. --enable-ipv6 && \
  36. make -j$(($(nproc)-1)) altinstall && \
  37. ldconfig && \
  38. ln -s /usr/local/bin/python3.12 /usr/local/bin/python3 && \
  39. ln -s /usr/local/bin/pip3.12 /usr/local/bin/pip3
  40. # 安装MongoDB
  41. RUN echo -e "[mongodb-org-6.0]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/6.0/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc" > /etc/yum.repos.d/mongodb-org-6.0.repo && \
  42. yum -y install mongodb-org && \
  43. mkdir -p /data/db && \
  44. chown -R mongod:mongod /data/db \
  45. WORKDIR /home/app
  46. # 部署应用程序
  47. COPY ./app/ .
  48. # 安装Python依赖
  49. RUN pip3 install --no-cache-dir -r /app/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  50. # 配置容器启动
  51. EXPOSE 27017
  52. CMD ["sh", "-c", "mongod --fork --logpath /var/log/mongodb.log"]