Dockerfile 示例

postgres扩展postgis

FROM postgres:13.10
RUN apt-get update
RUN apt-get install -y postgresql-13-postgis-3 postgresql-13-postgis-3-dbgsym postgresql-13-postgis-3-scripts

jetty搭载geoserver

FROM jetty:9.4.51-jdk17

USER root  
RUN mkdir /var/lib/jetty/work

# https://udomain.dl.sourceforge.net/project/geoserver/GeoServer/2.23.0/geoserver-2.23.0-war.zip
# https://udomain.dl.sourceforge.net/project/geoserver/GeoServer/2.23.0/extensions/geoserver-2.23.0-vectortiles-plugin.zip
ADD geoserver.war /var/lib/jetty/webapps/

ENV GEOSERVER_DATA_DIR /var/lib/geoserver_data
ENV PATH $PATH:$GEOSERVER_DATA_DIR

自定义python环境

FROM python:3.9.16
# install -y 遇到交互 yes/no 选yes
RUN apt-get update && \
    apt-get install -y openssh-server && \
    apt-get install -y git && \
    apt-get install -y vim
RUN sed -i '/#PermitRootLogin prohibit-password/cPermitRootLogin yes' /etc/ssh/sshd_config
RUN sed -i -e '10aexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib' /etc/profile 
RUN sed -i -e '18aservice ssh start' /root/.bashrc
RUN sed -i -e '19asource /etc/profile' /root/.bashrc
RUN echo "root:lqqgis"|chpasswd

RUN mkdir /var/lib/gdal-related-libs

# # 从网上获取GDAL依赖
# # ADD https://www.sqlite.org/2023/sqlite-autoconf-3410200.tar.gz /var/lib/gdal-related-libs
# # ADD https://download.osgeo.org/proj/proj-8.1.0.tar.gz /var/lib/gdal-related-libs
# # ADD https://github.com/Kitware/CMake/releases/download/v3.13.2/cmake-3.13.2.tar.gz /var/lib/gdal-related-libs
# # ADD http://download.osgeo.org/gdal/3.6.3/gdal-3.6.3.tar.gz /var/lib/gdal-related-libs

# 导入GDAL依赖, tar.gz会自动解压,并删除原文件
ADD gdal-related-libs/*.tar.gz /var/lib/gdal-related-libs

# 安装GDAL,每次RUN都是重新进入容器后处理,有路径变动建议写在一起
RUN cd /var/lib/gdal-related-libs && \
    cd sqlite-autoconf-3410200 && ./configure && make && make install && ldconfig && \ 
    cd ../proj-8.1.0 && ./configure && make && make check && make install && \
    cd ../cmake-3.13.2 && ./bootstrap && make && make install && \
    cd ../gdal-3.6.3 && mkdir build && cd build && cmake .. && cmake --build . && cmake --build . --target install && \
    cd /var/lib/ && rm -R -f gdal-related-libs
   
# 安装python包
RUN pip install fastapi[all]==0.95.1 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install requests==2.28.2 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install python-jose==3.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install passlib==1.7.4 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install SQLAlchemy==1.4.43 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install GeoAlchemy2==0.13.2 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install psycopg2==2.9.6 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install pandas==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install jsonpath==0.82 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install ulid-py==1.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install Fiona==1.9.3 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install pyproj==3.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install cchardet==2.1.7 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install mapclassify==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip install jupyter==1.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple && \
    pip cache purge

EXPOSE 8000
EXPOSE 22

ENTRYPOINT ["/bin/bash"]
posted @   lqqgis  阅读(58)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示