https://github.com/ravening/cloudstack-docker
Running cloudstack in a simulated docker
https://github.com/ravening/cloudstack-docker
Last synced: 2 months ago
JSON representation
Running cloudstack in a simulated docker
- Host: GitHub
- URL: https://github.com/ravening/cloudstack-docker
- Owner: ravening
- Created: 2020-08-19T16:11:06.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-30T16:00:15.000Z (over 4 years ago)
- Last Synced: 2025-02-11T11:56:26.184Z (4 months ago)
- Language: Dockerfile
- Size: 22.5 KB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Cloudstack in Docker
Files and docker images need to run Apache Cloudstack in Docker container
**Note: If you want to build your own docker image from scratch, refer to steps mentioned [here](https://github.com/ravening/Cloudstack-Docker/blob/master/BuildFromScratch.md)\
else you can continue further**## Build your own incremental cloudstack docker image
```
docker build -f Dockerfile -t .
```## Run the container
```
docker run --name -p 8080:8080 -d
```## Access the UI
```
http://:8080/client
```## Deploying in Kubernetes
You can deploy in kubernetes either manually or you can use skaffold for continuous development.\
If you want to use skaffold then refer to the next section `Continuous development using skaffold`### First deploy the pod
```
kubectl apply -f deployment.yml
```### Now apply the service
```
kubectl apply -f service.yml
```### Now create the nginx ingress rules
```
kubectl apply -f ingress.yml
```### Access the ui
We have provided `/cloudstack` as the end point in `ingress.yml`, so access the ui using
```
http:///cloudstack
```This will redirect to `/client`
If you want to deploy multiple cloudstack versions then have multiple deployment and service.
Add extra rules in `ingress.yml`.
If you have deployed cloudstack 4.14 in service/deployment cloudstack414
```
- path: /cloudstack/414
backend:
serviceName: cloudstack414
servicePort: 8080
```If you have deployed cloudstack 4.15 in service/deployment cloudstack415
```
- path: /cloudstack/415
backend:
serviceName: cloudstack415
servicePort: 8080
```## Continuous development using skaffold
### Prerequisites
You need to have minikube installed. It can be installed by following steps [here](https://kubernetes.io/docs/tasks/tools/install-minikube/)\
Skaffold can be installed using the instruction [here](https://skaffold.dev/docs/install/)You can either use the existing `skaffold.yaml` file or you can create your own using `skaffold init`.
Once you have the `skaffold.yaml` ready, you can just run the below command
```
skaffold dev
```This will build docker image and deploys it to kubernetes/minikube.
If you make change to the source code, skaffold will automatically build new docker image and deploys it again.
If you dont want to deploy to kubernetes then you can just build the docker image using
```
skaffold build
```