Hey !!
In This Repo We are going to Learn Some Docker, Docker-Compose And Kuberneties together
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
Ferdowsi University of Mashhad Cloud Computing Project
Technologies and Tools Utilized in this Project
To get a local copy up and running follow these simple steps.
-
Note 1: Replace version with the latest version number from the Docker Engine - Community repository.
-
Note 2: For X86_64 Architecture CPUs use amd64 in place of arch if you are using a different architecture than x86_64, you can find the correct arch by running
uname -m
on your machine.-
-
Update Your apt
sudo apt-get update
-
Download Docker Desktop for Ubuntu
wget https://desktop.docker.com/linux/main/amd64/docker-desktop-<version>-<arch>.deb
-
Installing Docker Desktop
sudo apt install ./docker-desktop-<version>-<arch>.deb
-
-
-
Update Your Pacman
sudo pacman -Syu
-
Downloading and Installing Docker and Docker-Compose Plugin for Arch
sudo pacman -S docker docker-compose
-
-
-
Download Docker Desktop With This Command
Invoke-WebRequest https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
-
Type Command Below For installing Docker Desktop
start /w "" "Docker Desktop Installer.exe" install
-
-
installing and setting up the app
-
Clone the repo
git clone https://github.com/javidchaji/Cloud-Computing-Project.git
-
Install ... packages
... install
For more examples, please refer to the Documentation
-
Choose a Webserver image from Docker Hub (Like: Nginx, Apache, etc.)
- Nginx is the one we are going to use in this project.
- Downloading WebServer Image From Docker Hub
- Downloading Nginx Image From Docker Hub
-
Writing Dockerfile For WebServer That Do One of these Tasks :
-
Acting as Reverse Proxy for a simple application.
-
Hosting an HTML Page.
-
-
Note : First Task Can Have Extra Points For Architecture and Richer Configuration
-
WebServer must be able to host a Content of a Folder Outside of the Container
- Writing Dockerfile that can host a Content of a Folder Outside of the Container
-
Choosing a way of Configuring the WebServer (Like: copying in image, mounting a volume, etc.)
- ... is the one we are going to use in this project.
-
-
Choose a Database image from Docker Hub (Like: Elasticsearch, MySQL, MongoDB, etc.)
- MySQL is the one we are going to use in this project.
- Downloading Database Image From Docker Hub
- Downloading MySQL Image From Docker Hub
-
Note : The related image configuration must written in docker-compose.yml file that have these four features :
-
The Configuration file must be Stateful (Meaning that the data will be saved even if the container is removed)
-
Each container must use Limited amount of resources (Like: CPU, Memory, etc.)
-
For choosen database Define a separate username and password
-
Need to run automatically after each system restart.
- Downloading The Database Image From Docker Hub
- The Related image Configuration must write
-
-
By using Pervious Step Dockerfile do the build opration note that both images must run together
- Writing docker-compose.yml File
-
Push the built image to Docker Hub
- Pushing The Built Image To Docker Hub
- Puting Docker Hub Image Link In issue Phase 1
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Mohadese Behzadi - @ - @gmail.com
Zahra Dehghan - @ - @gmail.com
Javid Chaji - @JavidChaji - [email protected]
Project Link: https://github.com/javidchaji/Cloud-Computing-Project