Покрените ПостГИС сервер као Доцкер контејнер

Pokrenite Postgis Server Kao Docker Kontejner



Нема сумње да је Доцкер постао један од најчешће коришћених алата за програмере последњих година. Доцкер нам омогућава да развијамо, пакујемо, испоручујемо и покрећемо апликације у изолованим окружењима која садрже све зависности које су потребне за покретање апликације.

ПостГИС је проширење ПостгреСКЛ базе података које додаје подршку за објекте географских података. Ово нам омогућава да користимо ПостгреСКЛ базу података за складиштење и испитивање просторних података. Као што можете претпоставити, комбиновање ПостГИС-а и Доцкер-а пружа ефикасан и опсежан метод управљања просторним подацима.

У овом водичу ћемо научити како можемо брзо да подесимо ПостГИС инстанцу унутар Доцкер контејнера. Такође ћемо покрити неке основе ПостГИС-а и научити како да учитамо просторне податке и извршимо неке основне упите користећи контејнер.







Захтеви:

Да бисте пратили овај водич, уверите се да имате следеће:



  1. Инсталиран Доцкер Енгине на вашем систему. Можете проверити наше туторијале о томе како да инсталирате Доцкер на ваш циљни систем.
  2. Основно познавање ПостгреСКЛ-а и просторних података

Са испуњеним датим захтевима, можемо да наставимо са туторијалом.



Покрените ПостГИС у Доцкер-у

Хајде да наставимо и подесимо ПостГИС контејнер. Почињемо повлачењем ПостГИС контејнера из Доцкер Хуб-а са следећом командом:





$ доцкер пулл постгис/постгис

Када преузмемо слику, можемо покренути контејнер користећи слику као што је приказано у следећој команди:



$ доцкер рун --наме постгис-сервер -е <стронг>ПОСТГРЕС_ПАССВОРД=пассворд -д -п 5432:5432 постгис/постгис

У датој команди наводимо следеће параметре:

  1. –наме – Ово нам омогућава да наведемо име контејнера.
  2. -е – Ово нам омогућава да поставимо ПостгреСКЛ лозинку као променљиву окружења. Ово је лозинка која се користи за постгрес корисника.
  3. -д – Ово говори Доцкер-у да покрене контејнер у позадини или одвојеном режиму.
  4. -п 5432:5432 – Ово нам омогућава да мапирамо порт 5432 унутар контејнера на хост на порту 5432.

Да бисте проверили да ли је контејнер покренут, користите следећу команду:

$ доцкер пс

Требало би да видите ПостГИС контејнер на листи.

Учитајте просторне податке у ПостГИС

Сада када имамо покренут ПостГИС контејнер, можемо учитати просторне податке користећи различите алате и формате као што су ГеоЈСОН, ЦСВ, итд.

У овом случају користимо Схапефиле као што је приказано у следећим командама:

$ мкдир -п ~/дата
$ цд ~/дата
вгет 3Ф7Ф1Д7БА326ЕА105БАЕ202ЦБ3БЦ04618Б675Д81
$ распакујте не_110м_админ_0_цоунтриес.зип

У датим командама почињемо креирањем директоријума за чување података које желимо да учитамо. Затим преузимамо гео податке са наведене везе и издвајамо их у директоријум.

Следећи корак је учитавање података у базу података. Почињемо повезивањем са ПостгреСКЛ базом података помоћу следеће команде:

$ доцкер екец -ит постгис-сервер пскл -У постгрес -д постгрес

Ако се од вас затражи лозинка, наведите лозинку коју сте конфигурисали приликом покретања контејнера. Ово би требало да вас аутентификује и спусти у ПостгреСКЛ љуску.

Када се повежемо са базом података, можемо користити услужни програм „схп2пгскл“ за увоз података из Схапефиле-а које смо издвојили у претходним корацима.

постгрес=# схп2пгскл -И -с 4326 не_110м_админ_0_цоунтриес | пскл -У постгрес -д постгрес

У претходној команди користимо опцију -И да креирамо просторни индекс за брже испитивање просторних података. Такође наводимо координатни систем као 4326 користећи параметар -с. ЕПСГ:4326 је стандардни систем координатног стања за ВГС 84.

ПостГИС подаци упита

Када учитамо податке, можемо изаћи из ПСКЛ услужног програма тако што ћемо покренути команду „\к“ или изаћи.

Затим, да бисмо проверили да ли су подаци учитани, можемо се поново повезати са базом података тако што ћемо покренути следећу команду:

$ доцкер екец -ит постгис-цонтаинер пскл -У постгрес -д постгрес

Затим можете покренути основне просторне упите да бисте потврдили да имате сачуване податке.

Закључак

У овом водичу сте научили како да покренете ПостГИС сервер као Доцкер контејнер и учитате податке у базу података.