-
Create user network (name: nm_network)
docker network create --driver bridge nm_network
-
Build mongo image
docker build -t mongo mongo:latest
-
Run mongo container
docker run -d -p 27017-27019:27017-27019 -v mongodata:/data/db --network nm_network --network-alias mongodb --name mongodb -d mongo
-
Build NodeMonitor
docker build -t nodemonitor:0.0.1 .
-
Run NodemMonitor
docker run -p 8080:8080/tcp --name=nodemonitor --network nm_network -d nodemonitor:0.0.1
-
Prepare and start minikube
minikube start
Also it is required to point to minikube's docker-daemon. First, display minikube's docker-env:
minikube --shell=powershell docker-env
And then suggested command, for example:
minikube -p minikube --shell=powershell docker-env | Invoke-Expression
-
Build Docker image Docker image must be built after minikube is started and shell is configured.
mvn clean install docker build -t nodemonitor:0.0.1 .
-
Run Docker image In order to run created image in Docker run following command:
docker run --name "nodemonitor" -p 8080:8080/tcp -d nodemonitor:0.0.1
-
Create Kubernetes deployment In order to run created image in Minikube run following command:
kubectl create deployment nodemonitor --image=nodemonitor:0.0.1 --dry-run -o=yaml > nodemonitor-deployment.yaml echo --- >> nodemonitor-deployment.yaml kubectl create service clusterip nodemonitor --tcp=8080:8080 --dry-run -o=yaml >> nodemonitor-deployment.yaml
-
Apply prepared deployment
kubectl apply -f nodemonitor-deployment.yaml
It is required to expose service outside the cluster. It can be done be port forwarding:
kubectl port-forward svc/nodemonitor 8080:8080
For further reference, please consider the following sections: