Skip to content

csymvoul/Information-Systems-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Εργαστήριο Πληροφοριακών Συστημάτων

Το συγκεκριμένο project αφορά το εργαστήριο του μαθήματος «(ΨΣ-152) Πληροφοριακά Συστήματα» του τμήματος Ψηφιακών Συστημάτων του Πανεπιστημίου Πειραιώς.

Μπορείτε να βρείτε το κώδικα από τις διαφάνειες του μαθήματος χωρισμένο σε διαφορετικούς φακέλους.

Δομή του εργαστηρίου

  1. Εργαστήριο 1 - Εισαγωγή Εισαγωγή στην Υπηρεσιοστρεφή Αρχιτεκτονική και τη Python
    • Εισαγωγή με την Υπηρεσιοστρεφή Αρχιτεκτονική (SOA) και τα Web Services
      • SOA
      • REST & Restful APIs
    • Γνωριμία με τη Python 3
      • Γενικές έννοιες
      • Anaconda distribution
    • Git
      • GitΗub account
      • Δημιουργία νέου repository
      • Βασικές εντολές
  2. Εργαστήριο 2 - Εισαγωγή στο Docker
    • Docker - Βασικές έννοιες
    • Πλεονεκτήματα και Μειονεκτήματα
    • Εγκατάσταση Docker
    • Εκτέλεση εφαρμογών
    • Docker containers networking
    • Docker Hub
  3. Εργαστήριο 3 - MongoDB και Flask 1/2
  4. Εργαστήριο 4 - MongoDB και Flask 2/2
  5. Εργαστήριο 5 - Containerization
  6. Extra Εργαστήριο - Scaling στο Docker

Python 3

Προτείνεται η χρήση της διανομής Anaconda. Παρακάτω μπορείτε να βρείτε και τα link για να κατεβάσετε τη Python:

Εγκατάσταση Anaconda:

Για χρήστες Windows: Κατά την εγκατάσταση προτείνεται η επιλογή της εισαγωγής της Anaconda στο system PATH. Εναλλακτικά θα πρέπει να την εισάγεται χειροκίνητα όπως παρακάτω:

  1. Ανοίγουμε το CMD με δικαιώματα Διαχειριστή
  2. Βρίσκουμε που έχει εγκατασταθεί η Python με την εντολή: where python
  3. Κάνουμε 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!
      • Αν θέλουμε να κάνουμε εγκατάσταση κάτι μέσω pip Anacona Virtual Environment μας πρώτα κάνουμε εγκατάσταση το pip στο environment και μετά κατεβάζουμε τα packages που θέλουμε:
        1. conda install pip
        2. pip 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 update
    • sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    • curl -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 update
    • sudo 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@address.domain>
  • Αντιγραφή αρχείων από τον 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”]

Στοιχεία επικοινωνίας

About

Πανεπιστήριο Πειραιώς - Τμήμα Ψηφιακών Συστημάτων - ΨΣ-512 Πληροφοριακά Συστήματα - Υλικό Εργαστηρίου

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published