The PF docker compose starts a small instance of docker containers for PF components.
Things to be installed beforehand:
Assuming the docker repository has been cloned and workdir is ../docker/compose
./start-compose.sh
./start-compose.sh component # that will start apex-pdp and its dependencies (pap, api, db, simulator) ./start-compose.sh apex-pdp
./start-compose.sh component --grafana # that will start apex-pdp and its dependencies (pap, api, db, simulator) + grafana and prometheus server ./start-compose.sh apex-pdp --grafana
The docker images are always downloaded from nexus repository, but if needed to build a local image, edit the get-versions.sh
script and change the variable LOCAL_IMAGES
to true
or edit the image tag in the docker compose file. Changing the variable to true
will ensure that the newly built images locally are being used by not requesting a download from nexus and using the image tagged as latest.
The start-compose script is always looking for the latest SNAPSHOT version available (will look locally first, then download from nexus if not available). Note: if latest Policy-API docker image is 2.8-SNAPSHOT-latest, but on nexus it was released 2 days ago and in local environment it's 3 months old - it will use the 3 months old image, so it's recommended to keep an eye on it.
If needed, the version can be edited on any docker compose yml file.
i.e: need to change db-migrator version from compose.{database}.yml: image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
replace the ${POLICY_DOCKER_VERSION} for the specific version needed
Use docker compose logs
or docker logs ${container_name}
instructions on how to collect logs.
Simply run the stop-compose.sh
script. This will also generate logs from the services started with compose.
./stop-compose.sh
From Oslo version onwards, this docker compose setup uses Postgres database as default; MariaDB is still available, but support might be limited.
To start docker compose with MariaDB, add a flag to use it:
# that will start apex-pdp and its dependencies (pap, api, mariadb, simulator) ./start-compose.sh apex-pdp --mariadb # that will start apex-pdp and its dependencies (pap, api, postgres, simulator) ./start-compose.sh apex-pdp
To make it easier and clear how the docker compose system works, there are three files describing the services