Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 2.67 KB

README.md

File metadata and controls

51 lines (41 loc) · 2.67 KB

Примеры реализации API

Данный репозиторий содержит примеры реализации API для курса СУБД в рамках "Технопарка".

Цель данного репозитория: уменьшить входной порог при реализации курсового проекта (https://github.com/bozaro/tech-db-forum).

Немного о примерах кода

Каждый пример удовлетворяем следующим требованиям:

  • Он реализует API, описанное в common/swagger.yml;
  • Код генерируемый из Swagger-схемы исключён из репозитория;
  • При доступе к корневой странице отображается Swagger UI для ручной проверки API;
  • Написан файл для формирования Docker-контейнера, который разворачивает реализованный сервис вместе с PostgreSQL 9.5.

Состав Docker-контейнеров

Docker контейнра организованы по следующему приципу:

  • Приложение:
    • использует и объявляет порт 5000 (http);
  • PostgreSQL:
    • использует и объявляет порт 5342 (http);
    • директории /etc/postgresql, /var/log/postgresql, /var/lib/postgresql объявлены как VOLUME для возможности сохранения БД.

Как собрать и запустить контейнер

Для сборки контейнера монжо выполнить команду вида:

docker build -t tech-db-hello -f Dockerfile.java-spring https://github.com/bozaro/tech-db-hello.git

Или команды:

git clone https://github.com/bozaro/tech-db-hello.git tech-db-hello
cd tech-db-hello/
docker build -t tech-db-hello -f Dockerfile.java-spring .

После этого будет создан Docker-образ с именем tech-db-hello (опция -t).

Запустить ранее собранный контейнер можно командой вида:

docker run -p 5000:5000 --name hello tech-db-hello

После этого можно получить доступ к запущенному в контейнере приложению по URL: http://localhost:5000/

Получить список запущенных контейнеров можно командой:

docker ps

Остановить контейнер можно командой:

docker kill hello