This project is the quick setup of the legacy webshop of the masters course 'Distributed Information Systems' at the University of Applied Sciences (Karlsruhe).
- docker
- with
docker-compose
You can run the images from docker hub which is preferred or built it on your own.
First: Start Docker daemon and check with docker ps
- Copy the
docker-compose.ymllocally in a desired folder and run
$ docker-compose up -d
# to follow the logs
$ docker-compose logs -tf
# to shutdown
$ docker-compose down- Run
docker-compose -f docker-compose-local.yml up -dwhich will- It builds the web app
warin a staged build, packs it into a docker tomcat8 container, and sets the usertomcatwith passwordadminfor the Management Console at http://localhost:8888/ - Initializes the MySQL Database docker container with the db user defined in
hibernate.cfg.xml - Sets up both containers and make the legacy webshop available under http://localhost:8888/EShop-1.0.0
- It builds the web app
- Follow the logs via
docker-compose -f docker-compose-local.yml logs -tf - To shutdown the containers run
docker-compose -f docker-compose-local.yml down
If you change the user and password of the MySQL database, you should run
$ docker-compose rm -v
$ rm -rf .dataDetails can be found here
First of all, the different components have to be packaged into Docker images. To do this, the following command has to be executed per Dockerfile:
docker build -t <your-image-name>:<your-version> -f <path-to-dockerfile> .
Then next, the individual Kubernetes configurations must be deployed. To do this, they must be deployed in the following order:
- pvc-mysql.yaml
- mysql-legacy.yaml
- mysql-category.yaml
- mysql-product.yaml
- category-service.yaml
- product-service.yaml
- webshop.yaml
- istio.yaml
The configurations can be deployed with the following command:
kubectl apply -f <file-name>
More useful commands:
kubectl port-forward svc/<service-name> <outside-port>:<inside-port> -n <namespace>kubectl get ns default --show-labelskubectl label namespace default istio-injection=enabled
Copyright (c) 2017-2018 Manuel Vogel Source code is open source and released under the MIT license.