Tworzenie i uruchomienie obrazu dockera - lambdaforg/Northwind_AGH GitHub Wiki

W celu ułatwienia udostępniania projektu oraz prostego rozlokowywania projektu skonteneryzowaliśmy nasz projekt za pomocą dockera.

Konfiguracja projektu wymagała od nas stworzenia dwóch plików docker-compose.yaml oraz Dockerfile.

Zawartość pliku docker-compose.yaml:

version: '3' services:
mongodb:
container_name: mongodb
image: mongo:3.6
restart: always
network_mode: host
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/dev/null
ports:
- 27017:27017
command: mongod --smallfiles --logpath=/dev/null

northwind:
container_name: northwind
build: ./
working_dir: /northwind
network_mode: host
volumes:
- ./:/northwind
- ~/.m2:/root/.m2
ports:
- 8088:8088
command: bash -c "./mgodatagen -f db_data_config.json && mvn clean spring-boot:run"
depends_on:
- mongodb

Głównymi częściami konfiguracji tego pliku był stworzenie sekcji dla serwisu mongodb i serwisu naszej aplikacji northwind. W nich głównymi aspektami było określenie prawidłowych portów oraz dodanie komendy pozwalającej generować dane za pomocą konfiguracji stworzonej w projekcie. Po więcej informacji udaj się do tej części dokumentacji. Należy również pamiętać o nazewnictwie serwisów, by nazwy nie gryzły się z już istniejącymi na danej maszynie.

Zawartość pliku Dockerfile:

FROM maven:3.5-jdk-11

W tym pliku jedynie wskazujemy jdk Mavena i wszystko zostaje zrobione za nas.

Po skonfigurowaniu obu pliku na maszynie posiadającej zainstalowanego i skonfigurowanego dockera wykonujemy polecenie:

docker-compose up --build