Παρουσιάζοντας το Docker στο Vagrant – Doug’s Home στον Ιστό

0
Παρουσιάζοντας το Docker στο Vagrant – Doug’s Home στον Ιστό

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

Έχοντας χρησιμοποιήσει VirtualBox και Αλήτης Πριν, αναρωτιόμουν αν θα μπορούσα να χρησιμοποιήσω το Vagrant για να δημιουργήσω μια παρουσία του Docker, συνδέσεις διακομιστή μεσολάβησης στο Docker μέσω SSH και να προσαρτήσω καταλόγους στο σύστημα αρχείων του κεντρικού υπολογιστή.

Αποδεικνύεται ότι μπορούσα.

Χαρακτηριστικά

Επιτρέψτε μου λοιπόν να σας πω για μερικές από τις δυνατότητες που έχει η εφαρμογή μου, Λιμενεργάτης στο Vagrant έχει:

  • Ψευδώνυμα και σενάρια για όλες τις λειτουργίες. Δεν χρειάζεται να τρέξετε απευθείας το Vagrant!
  • Πακέτα που εγκαθίστανται στο VM μέσω yum θα αποθηκευτεί προσωρινά σε δίσκο εκτός του VM, καθιστώντας τις μελλοντικές εκδόσεις λιγότερο εντατικές για το δίκτυο.
  • Με μία μόνο εντολή, οι εικόνες Docker μπορούν να αποθηκευτούν εκτός του VM και να επαναφορτωθούν εάν ένα νέο VM τοποθετηθεί.
  • Το κατάλαβα κιόλας πώς να διατηρήσετε το ρολόι του VM συγχρονισμένο με το μηχάνημα υποδοχής!

Ξεκινώντας

Εκτός από το VirtualBox και το Vagrant, θα χρειαστεί επίσης να έχετε το Εργαλεία Docker CLI και Pipe Viewer εγκατασταθεί. Μόλις εγκατασταθούν όλα, μπορείτε κλωνοποιήστε το repo! Αφού κλωνοποιηθεί το repo, εκτελέστε το σενάριο ./bin/start.sh για να ξεκινήσετε το VM. Στη συνέχεια, το σενάριο θα εκτυπώσει μερικές πρόσθετες οδηγίες διαμόρφωσης, τις οποίες θα συνοψίσω εδώ:

  • echo "export DOCKER_HOST=ssh://[email protected]:2222" >> $HOME/.bashrc
    • Αυτό θα πει στον Docker να μιλήσει με το VM όταν εκδίδει εντολές Docker.
  • echo . $(pwd)/bin/docker-aliases-bash.sh >> $HOME/.bashrc
    • Αυτό θα ορίσει ψευδώνυμα που μπορούν να χρησιμοποιηθούν για την αλληλεπίδραση με το VM που εκτελεί το Docker

Τέλος, προσθέστε αυτό σε $HOME/.ssh/config ώστε να μπορείτε να συνδεθείτε στο VM μέσω SSH:

Host 127.0.0.1
     ControlMaster auto
     ControlPath ~/.ssh/master-%r@%h:%p
     ControlPersist yes
     StrictHostKeyChecking no
     UserKnownHostsFile /dev/null
     IdentityFile $(pwd)/.vagrant/machines/default/virtualbox/private_key
     IdentitiesOnly yes

Σε αυτό το σημείο, είστε έτοιμοι! Απλώς ξεκινήστε ένα νέο κέλυφος, ώστε να ρυθμιστούν πρώτα η μεταβλητή περιβάλλοντος και τα ψευδώνυμα. 🙂

Χρήση

Όλες οι εντολές Docker πρέπει να λειτουργούν. Αλλά μπορείτε να ξεκινήσετε τρέχοντας docker psακολουθούμενη από docker run hello-world. Εκτός από τις εντολές Docker που γνωρίζετε και αγαπάτε, υπάρχει μια σειρά από ψευδώνυμα που μπορούν να χρησιμοποιηθούν για τη διαχείριση του υποκείμενου VM:

  • docker-status – Ελέγξτε αν το VM υπάρχει και αν εκτελείται.
  • docker-start – Εκκινήστε το VM εάν έχει σταματήσει.
  • docker-stop – Σταματήστε ένα εικονικό σύστημα που λειτουργεί.
  • docker-restart – Επανεκκινήστε ένα VM που εκτελείται.
  • docker-destroy – Καταστρέψτε ένα VM. Μπορεί να αναδημιουργηθεί με docker-start.
  • docker-ssh – SSH σε ένα VM εάν χρειάζεται να κάνετε οποιαδήποτε αντιμετώπιση προβλημάτων εκεί.
  • docker-images-save – Εξαγωγή όλων των υπαρχουσών εικόνων από το VM στο κεντρικό σύστημα αρχείων. Χρησιμοποιήστε πριν το τρέξιμο docker-destroy.
  • docker-images-list – Καταχωρίστε όλες τις εικόνες που έχουν εξαχθεί από το VM.
  • docker-images-load – Φορτώστε όλες τις εικόνες από το δίσκο στο VM. Χρησιμοποιείται μετά τη δημιουργία ενός νέου VM.
  • docker-check-time-offset – Ελέγξτε την ώρα στον κεντρικό υπολογιστή έναντι του VM. Τρέξιμο docker-restart στην εξαιρετικά απίθανη περίπτωση να έχουν πέσει εκτός συγχρονισμού.
  • docker-aliases – Εκτυπώστε αυτά τα ψευδώνυμα. 🙂

συμπέρασμα

Χρησιμοποιώ με επιτυχία το Docker In Vagrant για τη δική μου ανάπτυξη εδώ και λίγους μήνες και είμαι γενικά ευχαριστημένος με τη λειτουργικότητα και την απόδοση που προσφέρει. Αν ψάχνετε για κάτι νέο στο οικοσύστημα Docker, γιατί να μην το δοκιμάσετε;

Καθρέφτης σε μεσαίο.

Schreibe einen Kommentar