Futtassa a PostGIS-kiszolgálót Docker-tárolóként

Futtassa A Postgis Kiszolgalot Docker Tarolokent



Nem kétséges, hogy a Docker az elmúlt évek egyik legszélesebb körben használt fejlesztői eszközévé vált. A Docker lehetővé teszi az alkalmazások fejlesztését, csomagolását, szállítását és futtatását olyan elszigetelt környezetben, amely tartalmazza az alkalmazás futtatásához szükséges összes függőséget.

A PostGIS a PostgreSQL adatbázis kiterjesztése, amely támogatja a földrajzi adatobjektumokat. Ez lehetővé teszi számunkra, hogy a PostgreSQL adatbázist használjuk térbeli adatok tárolására és lekérdezésére. Ahogy sejtheti, a PostGIS és a Docker kombinálása hatékony és kiterjedt módszert biztosít a téradatok kezelésére.

Ebben az oktatóanyagban megtanuljuk, hogyan állíthatunk be gyorsan egy PostGIS-példányt egy Docker-tárolóban. Kitérünk néhány PostGIS alapismeretre, és megtanuljuk, hogyan tölthetünk be téradatokat, és hogyan hajthatunk végre néhány alapvető lekérdezést a tároló használatával.







Követelmények:

Az oktatóanyag követéséhez győződjön meg arról, hogy rendelkezik a következőkkel:



  1. Telepítette a Docker Engine-t a rendszerére. Megtekintheti oktatóanyagainkat arról, hogyan telepítheti a Dockert a célrendszerére.
  2. Alapvető ismeretek a PostgreSQL-ről és a téradatokról

Ha a megadott követelmények teljesülnek, folytathatjuk az oktatóanyagot.



Futtassa a PostGIS-t a Dockerben

Folytassuk a PostGIS tároló beállításával. Kezdjük azzal, hogy a következő paranccsal húzzuk ki a PostGIS tárolót a Docker Hubból:





$ docker pull postgis/postgis

Miután letöltöttük a képet, futtathatjuk a tárolót a kép segítségével a következő parancsban látható módon:



$ docker run --name postgis-server -e POSTGRES_PASSWORD =password -d -p 5432:5432 postgis/postgis

Az adott parancsban a következő paramétereket adjuk meg:

  1. –név – Ez lehetővé teszi a tároló nevének megadását.
  2. -e – Ezzel beállíthatjuk a PostgreSQL jelszót környezeti változóként. Ez az a jelszó, amelyet a postgres felhasználó használ.
  3. -d – Ez arra utasítja a Dockert, hogy a tárolót háttérben vagy leválasztott módban futtassa.
  4. -p 5432:5432 – Ez lehetővé teszi számunkra, hogy a tárolóban lévő 5432-es portot leképezzük az 5432-es porton lévő gazdagépre.

A tároló futásának ellenőrzéséhez használja a következő parancsot:

$ docker ps

A listában látnia kell a PostGIS tárolót.

Töltse be a téradatokat a PostGIS-be

Most, hogy fut a PostGIS konténer, betölthetjük a térbeli adatokat különféle eszközök és formátumok segítségével, például GeoJSON, CSV stb.

Ebben az esetben egy Shapefile-t használunk a következő parancsok szerint:

$ mkdir -p ~/adatok
$ cd ~/adat
wget https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip
$ unzip ne_110m_admin_0_countries.zip

A megadott parancsokban kezdjük azzal, hogy létrehozunk egy könyvtárat a betölteni kívánt adatok tárolására. Ezután letöltünk egy földrajzi adatot a megadott hivatkozásról, és kibontjuk a könyvtárba.

A következő lépés az adatok betöltése az adatbázisba. Kezdjük azzal, hogy a következő paranccsal csatlakozunk a PostgreSQL adatbázishoz:

$ docker exec -it postgis-server psql -U postgres -d postgres

Ha a rendszer jelszót kér, adja meg a tároló futtatásakor beállított jelszót. Ennek hitelesítenie kell Önt, és be kell juttatnia a PostgreSQL-héjba.

Miután csatlakoztunk az adatbázishoz, az „shp2pgsql” segédprogram segítségével importálhatjuk az adatokat az előző lépésekben kinyert Shape fájlokból.

postgres=# shp2pgsql -I -s 4326 ne_110m_admin_0_countries | psql -U postgres -d postgres

Az előző parancsban a -I kapcsolóval térbeli indexet hozunk létre a térbeli adatok gyorsabb lekérdezéséhez. A koordinátarendszert 4326-ként is megadjuk a -s paraméter segítségével. Az EPSG:4326 a WGS 84 szabványos koordinátaállapot-rendszere.

PostGIS lekérdezési adatok

Az adatok betöltése után a „\q” parancs futtatásával vagy kilépéssel kiléphetünk a PSQL segédprogramból.

Ezután annak ellenőrzésére, hogy az adatok betöltve vannak-e, a következő parancs futtatásával újra csatlakozhatunk az adatbázishoz:

$ docker exec -it postgis-container psql -U postgres -d postgres

Ezután az alapvető térbeli lekérdezéseket futtathatja annak ellenőrzésére, hogy az adatok tárolva vannak.

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan futtathatja a PostGIS-kiszolgálót Docker-tárolóként, és hogyan töltheti be az adatokat az adatbázisba.