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/nullnorthwind:
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