Error: Failed to Clone MapStore2 Submodule in GeoNode Docker Build
Question:
I'm trying to build a GeoNode instance using Docker, but I'm encountering an error related to cloning the MapStore2 submodule from the geonode-mapstore-client repository. Below is the error output I'm receiving:
bash
=> [django 12/16] RUN yes w | pip install --src /usr/src -r requirements.txt 225.0s
=> => # fatal: fetch-pack: invalid index-pack output
=> => # fatal: clone of 'https://github.com/geosolutions-it/MapStore2.git' into submodule path '/usr/src/django-geonode-mapstore-client/geonode_mapstore_client/client/MapStore2' failed
=> => # Failed to clone 'geonode_mapstore_client/client/MapStore2'. Retry scheduled
Full Error Output:
=> ERROR [django 12/16] RUN yes w | pip install --src /usr/src -r requirements.txt && yes w | pip install -e .
...
202.5 error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err 8)
...
319.8 note: This error originates from a subprocess, and is likely not a problem with pip.
Dockerfile Snippet:
dockerfile
Copier le code
FROM geonode/geonode-base:4.1.0-ubuntu-22.04
LABEL GeoNode development team
# Copy local GeoNode src inside container
COPY /src/. /usr/src/geonode/
WORKDIR /usr/src/geonode
# Configurer Git pour augmenter la mémoire tampon et gérer les faibles vitesses de téléchargement
RUN git config --global http.postBuffer 524288000 && \
git config --global http.lowSpeedLimit 0 && \
git config --global http.lowSpeedTime 999999
RUN yes w | pip install --src /usr/src -r requirements.txt && \
yes w | pip install -e .
# Cleanup apt update lists
RUN apt-get autoremove --purge && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
EXPOSE 8000
What I’ve Tried: Increased Git Buffer Size: I've set the http.postBuffer to 524288000 to handle larger data transfers. Network Checks: My internet connection seems stable, but the error persists. Additional Information: GeoNode Version: 4.1.0 Base Image: geonode/geonode-base:4.1.0-ubuntu-22.04 Question: How can I resolve the cloning issue with the MapStore2 submodule in my Docker build? Are there specific configurations or commands I should use to ensure a successful build?
Any help would be greatly appreciated!