Information-Systems-Lab
Information-Systems-Lab copied to clipboard
Πανεπιστήριο Πειραιώς - Τμήμα Ψηφιακών Συστημάτων - ΨΣ-512 Πληροφοριακά Συστήματα - Υλικό Εργαστηρίου
Εργαστήριο Πληροφοριακών Συστημάτων
Το συγκεκριμένο project αφορά το εργαστήριο του μαθήματος «(ΨΣ-152) Πληροφοριακά Συστήματα» του τμήματος Ψηφιακών Συστημάτων του Πανεπιστημίου Πειραιώς.
Μπορείτε να βρείτε το κώδικα από τις διαφάνειες του μαθήματος χωρισμένο σε διαφορετικούς φακέλους.
Δομή του εργαστηρίου
- Εργαστήριο 1 - Εισαγωγή Εισαγωγή στην Υπηρεσιοστρεφή Αρχιτεκτονική και τη Python
- Εισαγωγή με την Υπηρεσιοστρεφή Αρχιτεκτονική (SOA) και τα Web Services
- SOA
- REST & Restful APIs
- Γνωριμία με τη Python 3
- Γενικές έννοιες
- Anaconda distribution
- Git
- GitΗub account
- Δημιουργία νέου repository
- Βασικές εντολές
- Εισαγωγή με την Υπηρεσιοστρεφή Αρχιτεκτονική (SOA) και τα Web Services
- Εργαστήριο 2 - Εισαγωγή στο Docker
- Docker - Βασικές έννοιες
- Πλεονεκτήματα και Μειονεκτήματα
- Εγκατάσταση Docker
- Εκτέλεση εφαρμογών
- Docker containers networking
- Docker Hub
- Εργαστήριο 3 - MongoDB και Flask 1/2
- Εργαστήριο 4 - MongoDB και Flask 2/2
- Εργαστήριο 5 - Containerization
- Extra Εργαστήριο - Scaling στο Docker
Python 3
Προτείνεται η χρήση της διανομής Anaconda. Παρακάτω μπορείτε να βρείτε και τα link για να κατεβάσετε τη Python:
- Python 3: https://www.python.org/downloads/
- Anaconda: https://www.anaconda.com/distribution/
Εγκατάσταση Anaconda:
Για χρήστες Windows: Κατά την εγκατάσταση προτείνεται η επιλογή της εισαγωγής της Anaconda στο system PATH. Εναλλακτικά θα πρέπει να την εισάγεται χειροκίνητα όπως παρακάτω:
- Ανοίγουμε το CMD με δικαιώματα Διαχειριστή
- Βρίσκουμε που έχει εγκατασταθεί η Python με την εντολή:
where python - Κάνουμε copy το path και εκτελούμε την εντολή:
set PATH=python_path;%PATH%- Όπου
python_pathείναι το path της εγκατάστασης της Python που βρήκαμε στο βήμα 2
- Όπου
Γενικές έννοιες:
- Τα αρχεία Python πρέπει να έχουν πάντα τη κατάληξη .py:
file_name.py
Python Virtual Environments
Ένα Python Virtual Environment είναι εργαλείο που βοηθάει στη διατήρηση των dependencies που απαιτούνται από διαφορετικές εφαρμογές.
virtualenv
- Πρέπει πρώτα να γίνει εγκατάσταση του virtualenv:
pip install virtualenv - Δημιουργία Virtual Environment:
virtualenv venv_name - Ενεργοποίηση περιβάλλοντος:
source path/to/venv_name activate - Απενεργοποίηση περιβάλλοντος:
deactivate
conda environment
- Δημιουργία Conda περιβάλλοντος:
conda create --name conda_env - Ενεργοποίηση περιβάλλοντος:
conda activate conda_env - Απενεργοποίηση περιβάλλοντος:
conda deactivate
Εγκατάσταση βιβλιοθηκών και πακέτων
Πρέπει να έχετε εγκαταστήσει το pip.
- Mπορείτε να εγκαταστήσετε και να χρησιμοποιήσετε βιβλιοθήκες απλά εκτελώντας την εντολή:
pip install packagename- Μόνο για χρήστες Anaconda:
conda install packagename- Σημείωση: Δεν είναι όλα τα packages διαθέσιμα στο conda!
- Αν θέλουμε να κάνουμε εγκατάσταση κάτι μέσω
pipAnacona Virtual Environment μας πρώτα κάνουμε εγκατάσταση το pip στο environment και μετά κατεβάζουμε τα packages που θέλουμε:conda install pippip install packagename
Όταν τις κάνουμε εγκατάσταση σε κάποιο περιβάλλον, μπορούμε να τις εισάγουμε σε κάποιο πρόγραμμά μας έτσι:
import package_name
Αν θέλουμε να κάνουμε εγκατάσταση ένα package σε ένα virtual environment πρέπει πρώτα να το ενεργοποιήσουμε!
Εγκατάσταση και Export requirement
- Τα requirement είναι οι βιβλιοθήκες που είναι αναγκαίες για να λειτουργήσει το python project μας.
- Για να τα κάνουμε export σε ένα αρχείο χρησιμοποιούμε την εντολή:
pip freeze > requirements.txt- Μόνο για χρήστες Anaconda:
conda list --export > requirements.txt
- Για νά κάνουμε εγκατάσταση τα requirement από ένα αρχείο χρησιμοποιούμε την εντολή:
pip install -r requirements.txt- Μόνο για χρήστες Anaconda:
conda install --file requirements.txt
Docker
Εγκατάσταση Docker
Απαιτήσεις συστήματος:
Hardware:
- 64-bit processor με Second Level Address Translation (SLAT)
- 4GB system RAM
- BIOS-level hardware virtualization support πρέπει να είναι ενεργοποιημένο στις ρυθμίσεις του BIOS (συνήθως είναι ήδη activated)
Εγκατάσταση στα Windows:
- Πρέπει να έχετε Windows 10 Pro, Windows 10 Student edition - Σε Windows Home δεν θα μπορέσει να γίνει εγκατάσταση σωστά
- Πρέπει επίσης να είναι ενεργοποιημένα τα:
- Hyper-V
- Containers Windows Features
- Κατεβάζετε το εκτελέσιμο αρχείο από εδώ: https://hub.docker.com/editions/community/docker-ce-desktop-wind ows
Εγκατάσταση στα Linux (Ubuntu):
- Αρκεί να εκτελέσετε τις παρακάτω εντολές στο terminal:
sudo apt-get updatesudo apt install -y apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"sudo apt-get updatesudo apt install docker-ce
Βασικές εντολές Docker
- Προβολή λίστας με όλα τα images που έχουμε τοπικά στον υπολογιστή μας:
docker images - Εμφάνιση λίστας με όλα τα container που έχουμε στον υπολογιστή μας:
docker ps -a - Δημιουργία και εκτέλεση container (Αν δεν υπάρχει ήδη τοπικά στον υπολογιστή, θα γίνει και κατέβασμα):
docker run image_name --name friendly_name -p HOST_PORT:DOCKER_PORT - Εκτέλεση εντολών μέσα σε ένα container:
docker exec friendly_name - Παύση ενός container:
docker stop friendly_name - Αφαίρεση ενός σταματημένου container:
docker rm friendly_name - Διαγραφή ενός image από τον υπολογιστή (αφού πρώτα έχει διαγραφεί το container που το χρησιμοποιεί):
docker rmi image_name - Εμφάνιση low-level πληροφοριών για ένα container:
docker inspect friendly_name - Εμφάνιση log για ένα container:
docker log friendly_name - Build από Dockerfile:
docker build -t image_name ..στο τέλος βάζουμε αν το Dockerfile είναι στο ίδιο μέρος με το path που έχουμε στο terminal.- Ενναλακτικά, αντικαθιστούμε το
.με το path για το Dockerfile
Δημιουργία Dockerfile
Προσοχή: Το Dockerfile δεν έχει κάποιο extension!
Linux:
- Για να το δημιουργήσουμε πρέπει να εκτελέσουμε τη παρακάτω εντολή στο terminal:
touch Dockerfile
Windows:
- Δημιουργούμε ένα κενό txt αρχείο (πχ στο Notepad) και το αποθηκεύουμε χωρίς extension:
- File / Save as / File name: Dockerfile
- Και επιλέγουμε Save as type: All Files (*.*)
Βασικές εντολές που θα χρησιμοποιήσουμε σε ένα Dockerfile:
- Ποια είναι η base image που χρησιμοποιείται (πρέπει πάντα να υπάρχει σε ένα Dockerfile και το βάζουμε στη πρώτη γραμμή):
FROM ubuntu:16.04 - Όνομα και email του maintainer του image:
MAINTAINER name <[email protected]> - Αντιγραφή αρχείων από τον host στο container:
COPY filename /dir/to/docker/container - Προεπιλογές για την εκτέλεση ενός container:
CMD command - Εκτέλεση εντολών μέσα στο container:
RUN command - Ποιες port κάνει expose το container:
EXPOSE 80/tcp - Κάνουμε set τον χρήστη:
USER username - Τρέχει όταν ξεκινήσει το container:
ENTRYPOINT [“executable”,”param1”,”param2”]
Στοιχεία επικοινωνίας
- Χρυσόστομος Συμβουλίδης, [email protected]
- Jean-Didier Totow, [email protected]