Πώς να περάσετε μεταβλητές περιβάλλοντος σε δοχείο Docker

How Pass Environment Variables Docker Container



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

Χρησιμοποιώντας οποιοδήποτε σύγχρονο πλαίσιο JavaScript για τη δημιουργία ενός κοντέινερ για μία εφαρμογή, ενδέχεται να ανακαλύψετε ότι οι ρυθμίσεις διαμόρφωσης διαφέρουν ανάλογα με το πού θα εκτελεστεί το κοντέινερ. Η βασική διεύθυνση URL για το API σας, για παράδειγμα, μπορεί να διαφέρει ανάλογα με το αν δοκιμάζετε ή δημοσιεύετε την εφαρμογή. Οι μεταβλητές περιβάλλοντος χρησιμοποιούνται συνήθως από προγραμματιστές για την αντιμετώπιση αυτού του προβλήματος επειδή ο κώδικας λειτουργεί στο backend, συνήθως χρησιμοποιούνται εκεί μεταβλητές περιβάλλοντος.







Κατά τη διάρκεια της κατασκευής της εικόνας, μπορεί να χρειαστεί να περάσουμε πληροφορίες περιβάλλοντος στο λειτουργικό δοχείο. Για να το κάνουμε αυτό, χρησιμοποιούμε τόσο τις εντολές ENV όσο και τις εντολές ARG. Η εντολή ARG δημιουργεί μια μεταβλητή που μπορεί να παρέχεται κατά τη διαδικασία κατασκευής. Μόλις οριστεί στο Dockerfile, μπορείτε να χρησιμοποιήσετε την παράμετρο — build-arg για να την παράσχετε στον δημιουργό εικόνας. Στο Dockerfile, μπορούμε να έχουμε πολλές οδηγίες ARG. Στο Dockerfile, η εντολή ARG είναι η μόνη που μπορεί να έρθει πριν από την εντολή FROM.



Ωστόσο, η εντολή ENV ορίζει τη μεταβλητή περιβάλλοντος, η οποία με τη σειρά της καθορίζει το περιβάλλον για τις οδηγίες κατασκευής που ακολουθούν. Η οδηγία ENV είναι προσβάσιμη κατά τη διαδικασία κατασκευής καθώς και όταν το δοχείο ξεκινά με τη σημαία —env. Ωστόσο, δεν μπορούμε να περάσουμε την εντολή ENV κατά την κατασκευή της εικόνας. Η οδηγία ARG έχει το μειονέκτημα ότι δεν μπορεί να επιμείνει μετά την κατασκευή της εικόνας. Για να μεταφέρουμε τα δεδομένα περιβάλλοντος ενσωματωμένα κατά τη δημιουργία της εικόνας, θα χρησιμοποιήσουμε μόνο το ENV και το ARG. Σε αυτόν τον οδηγό, θα σας διδάξουμε πώς να μεταβιβάσετε μια μεταβλητή περιβάλλοντος σε ένα κοντέινερ docker.



Προαπαιτούμενα

Για να περάσετε τις μεταβλητές περιβάλλοντος σε ένα κοντέινερ docker, πρέπει να έχετε εγκατεστημένο το σύστημα Ubuntu 20.04 Linux. Επίσης, βεβαιωθείτε ότι έχετε εγκαταστήσει την ενημερωμένη έκδοση του Docker στο σύστημά σας. Σε περίπτωση που δεν υπάρχει στο σύστημα, μπορείτε να κάνετε την εγκατάστασή του χρησιμοποιώντας την παρακάτω αναφερόμενη εντολή.





$ sudo apt install docker.io

Σε όλο αυτό το σεμινάριο, χρησιμοποιήσαμε τη λέξη -κλειδί Sudo που σημαίνει ότι πρέπει να έχετε δικαιώματα sudo για να εκτελέσετε αυτό το άρθρο.



Μέθοδος για να περάσετε τις μεταβλητές περιβάλλοντος

Για να περάσετε τις μεταβλητές περιβάλλοντος σε ένα κοντέινερ docker, πρέπει να ανοίξετε το τερματικό της γραμμής εντολών χρησιμοποιώντας το πλήκτρο συντόμευσης Ctrl+Alt+T ή αναζητώντας το στο μενού εφαρμογών χρησιμοποιώντας τη γραμμή αναζήτησης. Τώρα, ακολουθήστε τα παρακάτω προσαρτημένα βήματα:

Βήμα 1: Τραβήξτε την εικόνα
Σε όλο αυτόν τον οδηγό, θα χρησιμοποιούμε το Alpine, μια μικροσκοπική (5ΜΒ) εικόνα Linux. Για να ξεκινήσετε, κατεβάστε την εικόνα τοπικά χρησιμοποιώντας την ακόλουθη συνημμένη εντολή:

$ sudo docker pull alpine: 3

Η έξοδος δείχνει το επιτυχημένο τράβηγμα εικόνας.

Βήμα 2: Διαβίβαση μεταβλητών περιβάλλοντος
Χρησιμοποιώντας τη σημαία –env, μπορούμε να εισάγουμε μεταβλητές περιβάλλοντος ως ζεύγη κλειδιού-τιμής ακριβώς στη γραμμή εντολών κατά την εκκίνηση του κοντέινερ Docker. Ας χρησιμοποιήσουμε την ακόλουθη συνημμένη εντολή ως εικόνα:

$ sudo docker run -env VARIABLE1 = foobar alpine: 3

Δεν θα υπάρχει συγκεκριμένη έξοδος για αυτήν την εντολή.

Βήμα 3: Αντανακλά τις μεταβλητές περιβάλλοντος
Για να αντικατοπτρίσετε τις μεταβλητές περιβάλλοντος, χρησιμοποιήστε την ακόλουθη συνημμένη εντολή μαζί με την εξαγωγή λέξης -κλειδιού.

$ export VARIABLE2 = foobar2

Δεν θα υπάρχει συγκεκριμένη έξοδος για αυτήν την εντολή.

Βήμα 4: Καθορίστε μεταβλητές περιβάλλοντος
Τώρα, χωρίς να καθορίσετε την τιμή της μεταβλητής περιβάλλοντος, ας ορίσουμε τη μεταβλητή περιβάλλοντος χρησιμοποιώντας την παρακάτω αναφερόμενη εντολή στο τερματικό:

$ sudo docker run -env VARIABLE2 alpine: 3 env

Στην έξοδο, μπορείτε να δείτε ότι η μεταβλητή περιβάλλοντος έχει περάσει με επιτυχία στο κοντέινερ docker.

συμπέρασμα

Σε αυτό το άρθρο, έχουμε εξετάσει την έννοια και τη σημασία των μεταβλητών περιβάλλοντος στο docker. Επίσης, σας παρέχουμε τον οδηγό βήμα προς βήμα για τη μεταφορά μιας μεταβλητής περιβάλλοντος σε ένα κοντέινερ docker. Ελπίζω ότι δεν θα έχετε κανένα πρόβλημα όταν μεταφέρετε τη μεταβλητή περιβάλλοντος σε ένα δοχείο docker.