Docker information
Note
This document is updated, however, it may be good to read the docker-compose
and Dockerfile.*
in the repository themselves for the most up-to-date information.
This guide assumes that docker
and docker-compose are present on your system.
Starting and Stopping
While docker can be used to start each individual container separately, using docker-compose up --build
is the preferred method because it starts all services in the correct order.
Pressing ctrl-c
will cleanly shutdown interactive docker.
Pressing ctrl-c
multiple times will kill the running images and leave docker in a somewhat funny state that likely requires running docker-compose down
before starting again
An additional flag -d
can be supplied to run docker in detached mode.
Note
Use docker-compose --file <filename>
to select a different configuration
To start a single image, supply its name as an additional argument to docker-compose up
.
To stop all images, including in detached mode, run docker-compose down
.
Cleaning docker
The build instructions suggest using the --build
flag which will build images before starting the containers.
Additionally, one may want to use the --force-recreate
flag to recreate images even if ther configuration and images haven’t changed.
The following commands can be used (in this order) to further clean out docker and start with a cleaner state (-f
with get rid of the confirmation):
Use
docker container prune
to prune all stopped containers[Optional] Use
docker image prune
to remove all unused imagesUse
docker volume prune
to prune all unused volumes
if explicit pruning does not work, use docker system prune -f -a --volumes
to purge all.
Misc
Several things to keep in mind while running Web monitor via docker:
The option
-d
will start the web-monitor in the background. Remove it if you want to run the web-monitor in the foreground.The command
docker container logs CONTAINER_NAME
will provide the runtime log for given container, whereCONTAINER_NAME
can be found viadocker ps
.Add option
--build
to force rebuild the container if the local changes are not reflected in the container.Add option
--force-recreate
to recreate all images if--build
does not work.- If all fails (e.g. the local changes are not showing up in the runtime instances):
stop the instance with
docker-compose down
.prune caches of images, container and volumes.
restart the instance with
docker-compose up -d --build --force-recreate
.
If you cannot find web-monitor at
localhost
, it is possible that the standard http port 80 is used by another application. Here are two possible solutions:Stop the service running at port 80 and restart the instance.
Modify the port of nginx in the docker compose file to use a different port (e.g. change to
81:80
).