# Πώς να εκτελέσετε το MongoDB μέσω ενός κοντέινερ Docker

Τα κοντέινερ MongoDB στο Docker είναι εύκολο να αναπαραχθούν και να κλιμακωθούν. Εάν αυξηθεί ο φόρτος εργασίας στη βάση δεδομένων, μπορείτε να ξεκινήσετε επιπλέον κοντέινερ MongoDB. Έτσι, η **απόδοση της βάσης δεδομένων** παραμένει **σταθερή**.

## Λειτουργεί το MongoDB σε ένα κοντέινερ Docker;

Το MongoDB μπορεί να λειτουργήσει αποτελεσματικά σε ένα κοντέινερ Docker. Στο Docker Hub υπάρχουν δύο τύποι εικόνων MongoDB: η **Community Edition** και η **Enterprise Edition**. Η επιλογή μεταξύ αυτών των δύο εκδόσεων εξαρτάται από τις συγκεκριμένες ανάγκες σας. Η Community Edition είναι συνήθως ιδανική για μη εμπορική χρήση ή μικρότερες εγκαταστάσεις. Η Enterprise Edition, ωστόσο, περιλαμβάνει επιπλέον λειτουργίες και υποστήριξη για μεγαλύτερες εφαρμογές ή επιχειρήσεις με προηγμένες ανάγκες, όπως κρυπτογράφηση, έλεγχο και ενσωμάτωση LDAP.

Εάν οι έτοιμες εικόνες MongoDB στο Docker Hub δεν καλύπτουν πλήρως τις ανάγκες σας, το Docker σας επιτρέπει να δημιουργήσετε μια **προσαρμοσμένη εικόνα Docker** χρησιμοποιώντας ένα αρχείο Dockerfile. Με ένα αρχείο Dockerfile, μπορείτε να επιλέξετε την έκδοση του MongoDB, να ρυθμίσετε συγκεκριμένες επιλογές (όπως τις μεθόδους ελέγχου ταυτότητας) και να εγκαταστήσετε τυχόν πρόσθετα εργαλεία ή προγράμματα οδήγησης που απαιτούνται για το περιβάλλον σας.

## Πώς να χρησιμοποιήσετε το MongoDB ως κοντέινερ Docker βήμα προς βήμα

Το Docker είναι γνωστό για **την ελαφριά εικονικοποίησή** του, η οποία εξασφαλίζει φορητότητα και συνέπεια σε διάφορα περιβάλλοντα ανάπτυξης και παραγωγής. Παρακάτω, θα σας καθοδηγήσουμε βήμα προς βήμα σχετικά με τον τρόπο ρύθμισης των κοντέινερ MongoDB στο Docker. Για τους αρχάριους, προτείνουμε να ανατρέξετε [στο σεμινάριό](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/ekpaideytiko-seminario-gia-to-docker-egkatastasi-kai-prota-bimata/) μας [για το Docker: Εγκατάσταση και πρώτα βήματα](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/ekpaideytiko-seminario-gia-to-docker-egkatastasi-kai-prota-bimata/), το οποίο παρέχει μια λεπτομερή εισαγωγή στην πλατφόρμα κοντέινερ.

### Βήμα 1: Λήψη της εικόνας Docker του MongoDB

Για να δημιουργήσουμε ένα κοντέινερ Docker για το MongoDB, πρέπει πρώτα να κατεβάσουμε την κατάλληλη εικόνα από **το Docker Hub**. Ανοίξτε το τερματικό ή τη γραμμή εντολών και εκτελέστε την ακόλουθη εντολή:

```bash
docker pull mongo:latest
```

Εάν η εικόνα υπάρχει ήδη τοπικά, το Docker δεν θα κατεβάσει νέα έκδοση, εκτός αν υποδείξετε ρητά την έκδοση που θέλετε να χρησιμοποιήσετε (για παράδειγμα `mongo:4.4`).

### Βήμα 2: Εκκίνηση του κοντέινερ Docker του MongoDB

Μόλις ολοκληρωθεί η λήψη της εικόνας Docker για το MongoDB, μπορείτε να ξεκινήσετε ένα κοντέινερ βασισμένο σε αυτήν την εικόνα:

- `docker run`: Εκκινεί ένα νέο κοντέινερ Docker
- `--name mongodb-container`: Ονομάζει το κοντέινερ «mongodb-container»
- `-d`: Χρησιμοποιήστε αυτήν την παράμετρο για να ξεκινήσετε το κοντέινερ στο παρασκήνιο (αποσυνδεδεμένη λειτουργία). Αυτό σημαίνει ότι το τερματικό μπορεί να συνεχίσει να χρησιμοποιείται ενώ το κοντέινερ εκτελείται
- `-p 27017:27017`: Ανοίγει την τυπική θύρα 27017 του MongoDB του κοντέινερ στο σύστημα-κεντρικό σας
- `mongo:latest`: Δίνει την εντολή για τη λήψη της πιο πρόσφατης διαθέσιμης εικόνας

### Βήμα 3: Ελέγξτε αν το container εκτελείται

Για να βεβαιωθείτε ότι ο container έχει ξεκινήσει με επιτυχία, πληκτρολογήστε την ακόλουθη εντολή:

```bash
docker ps
```

Αυτές οι πληροφορίες παρέχουν μια γρήγορη επισκόπηση των ενεργών κοντέινερ Docker του MongoDB στο σύστημά σας, συμπεριλαμβανομένου του χρόνου λειτουργίας τους και των θυρών που χρησιμοποιούν. Για περισσότερες λεπτομέρειες, όπως τα κοντέινερ που έχουν σταματήσει ή συγκεκριμένες επιλογές φιλτραρίσματος, συνιστάται να χρησιμοποιήσετε την εντολή `docker ps -a`.

### Βήμα 4: Δημιουργία σύνδεσης με το MongoDB στο κοντέινερ Docker

Τώρα μπορείτε να συνδεθείτε με την παρουσία MongoDB στο κοντέινερ Docker σας. Για να το κάνετε αυτό, εκκινήστε το **MongoDB Shell** απευθείας μέσα στο κοντέινερ:

- `docker exec`: Εκτελεί μια εντολή στο τρέχον κοντέινερ
- `-it`: Επιτρέπει την αλληλεπίδραση με το τερματικό στο κοντέινερ
- `mongodb-container`: Το όνομα του εγκατεστημένου κοντέινερ MongoDB
- `mongo`: Εκκινεί το κέλυφος MongoDB

Μόλις εκτελέσετε αυτήν την εντολή, θα δείτε το περιβάλλον γραμμής εντολών του MongoDB έτοιμο να δεχτεί εντολές. Τώρα μπορείτε να εισάγετε τις συνήθεις εντολές του MongoDB για τη διαχείριση ή την αναζήτηση στη βάση δεδομένων σας.

### Βήμα 5: Εκτέλεση εντολών στο περιβάλλον γραμμής εντολών του MongoDB

Τώρα μπορείτε να εμφανίσετε όλες τις υπάρχουσες βάσεις δεδομένων στον διακομιστή MongoDB ως εξής:

```bash
show databases
```

Η έξοδος περιέχει τα ονόματα των βάσεων δεδομένων:

```bash
admin   0.000GB
local      0.000GB
test       0.000GB
```

Για να εργαστείτε με μια συγκεκριμένη βάση δεδομένων στο περιβάλλον γραμμής εντολών του MongoDB, χρησιμοποιήστε την ακόλουθη εντολή:

```bash
use mydatabase
```

Χρησιμοποιήστε την παρακάτω εντολή για να μεταβείτε στη βάση δεδομένων με το όνομα «mydatabase». Εάν η βάση δεδομένων δεν υπάρχει, θα δημιουργηθεί αυτόματα κατά την εισαγωγή ενός εγγράφου.

Μπορείτε επίσης να ανακτήσετε έγγραφα από μια συγκεκριμένη συλλογή:

```bash
db.users.find()
```

Το shell του MongoDB επιστρέφει όλα τα έγγραφα που είναι αποθηκευμένα στη συλλογή «users».

```bson
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "bob", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charlie", "age": 25 }
```

Κάθε έγγραφο περιέχει ένα μοναδικό πεδίο `_id` (αναγνωριστικό ειδικό για το MongoDB) και άλλα πεδία, όπως `username` και `age`.

Βρείτε περισσότερες πληροφορίες για [τα εργαλεία Docker](https://www.ionos.com/el-gr/digitalguide/diakomistis/technognosia/ergaleia-docker-to-oikosystima-tis-platformas-konteiner/) και μια [παρουσίαση του MongoDB, συμπεριλαμβανομένης μιας σύγκρισης με το MySQL](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/mongodb-eisagogi-kai-sygkrisi-me-to-mysql/), στον οδηγό μας.


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/konteiner-docker-gia-mongodb/](https://www.ionos.com/el-gr/digitalguide/diakomistis/rythmiseis/konteiner-docker-gia-mongodb/) for AI/LLM consumption.