Ο εύκολος τρόπος για να ρυθμίσετε το Docker σε ένα Raspberry Pi

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

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

Ναι, ακούσατε σωστά! Με δύο μόνο γραμμές μπορείτε να φορτώσετε και να εγκαταστήσετε το Docker.

Η εγκατάσταση του Docker μπορεί να αντιμετωπιστεί από ένα σενάριο bash που θα αυτοματοποιήσει ολόκληρη την εγκατάσταση. Το Docker παρέχει ένα τέτοιο σενάριο στο get.docker.com. Η πρώτη εντολή θα καταναλώνει αυτήν τη διεύθυνση URL, αναζητώντας ένα αρχείο που ονομάζεται get-docker.sh. Μόλις φτάσουμε, τρέχουμε το σενάριο. Οι δύο εντολές μπορούν να συνδέονται μεταξύ τους για να σχηματίσουν μια δήλωση όπως:

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

Τώρα έχετε εγκαταστήσει το Docker και η εγκατάσταση χρειάστηκε μόνο δύο γραμμές.

Όπως μόλις είδατε, οι δύο παραπάνω εντολές συνδέονται μεταξύ τους χρησιμοποιώντας τον τελεστή «&&». Αυτό σημαίνει ότι οι εντολές θα εκτελούνται το ένα μετά το άλλο, αλλά μπορούν να πληκτρολογηθούν στην ίδια γραμμή.

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

Πώς να ρυθμίσετε το Docker να τρέχει χωρίς να χρησιμοποιείτε sudo όλη την ώρα

Ανακάλυψα αυτήν τη λύση στο AskUbuntu αφού αντιμετώπισα το πρόβλημα. Ας το εξετάσουμε τώρα.

Υπάρχουν 3 βήματα:

  1. Προσθέστε την ομάδα Docker εάν δεν υπάρχει ήδη:
sudo groupadd docker

2. Προσθέστε το συνδεδεμένο χρήστη "$ USER" στην ομάδα σύνδεσης. Αλλάξτε το όνομα χρήστη για να ταιριάζει με τον προτιμώμενο χρήστη σας εάν δεν θέλετε να χρησιμοποιήσετε τον τρέχοντα χρήστη σας:

sudo gpasswd -a $USER docker

3. Από εδώ έχετε δύο επιλογές: είτε αποσυνδεθείτε και μετά συνδεθείτε ξανά ή εκτελέστε newgrp dockerτις αλλαγές για να τεθούν σε ισχύ.

Τώρα θα πρέπει να μπορείτε να εκτελέσετε το Docker χωρίς sudo. Για δοκιμή, δοκιμάστε αυτό:

docker run hello-world

Αν λειτούργησε, θα πρέπει να δείτε ένα υπέροχο μήνυμα από το Docker:

Και πάλι, όλη η πίστωση για αυτήν τη λύση πηγαίνει σε αυτήν την υπέροχη απάντηση στο AskUbuntu που βρήκα. Χωρίς να πληκτρολογείτε sudo όλη την ώρα, οι εντολές θα είναι πολύ πιο εύκολο να δουλέψετε.

Αλλά περιμένετε, υπάρχουν περισσότερα!

Τι γίνεται αν θέλετε επίσης να συνθέσετε το docker; Θα μπορούσατε να δοκιμάσετε και να εγκαταστήσετε την πηγή σύνθεσης του docker με τον τρόπο που εγκαταστήσαμε το Docker. Μια ενδιαφέρουσα προσέγγιση που βρήκα στα έγγραφα του Google Cloud Engines είναι ότι μπορείτε πραγματικά να εκτελέσετε σύνθετο docker ως ίδιο το κοντέινερ!

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

Το πρώτο βήμα θα είναι να εκτελέσετε το docker-compose ως κοντέινερ και να του δώσετε πρόσβαση σε τόμους.

docker run \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$PWD:/rootfs/$PWD" \ -w="/rootfs/$PWD" \ docker/compose:1.13.0 up

Στη συνέχεια, κάντε ένα ψευδώνυμο για να συνθέσετε το docker

echo alias docker-compose="'"'docker run \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$PWD:/rootfs/$PWD" \ -w="/rootfs/$PWD" \ docker/compose:1.13.0'"'" >> ~/.bashrc

Στη συνέχεια, φορτώστε ξανά το bash:

source ~/.bashrc

Τώρα έχετε πλήρη πρόσβαση στη σύνταξη του docker. Το ψευδώνυμο που ορίστηκε παραπάνω σημαίνει ότι, αντί να χρειάζεται να πληκτρολογείτε εντολές docker όταν θέλετε να χρησιμοποιήσετε το κοντέινερ σύνθεσης, μπορείτε απλώς να χρησιμοποιήσετε το "docker-compose" όπως θα κάνατε κανονικά.

Σημαντική ειδοποίηση για το Docker στο RPi

Η χρήση του ARP Archetecture του Raspberry Pi, και ως εκ τούτου δεν θα είναι συμβατή με όλα τα εμπορευματοκιβώτια. Οι εικόνες θα πρέπει να δημιουργηθούν από μια βασική εικόνα ARM.

Μπορείτε να το δείτε αυτό σε δράση εκτελώντας μια παρουσία Redis σε κοντέινερ σε ένα Raspberry Pi (το οποίο είναι αρκετά σχετικό με μια επερχόμενη σειρά που γράφω). Για να το κάνετε αυτό απαιτείται εργασία με μια βασική εικόνα. Εφόσον χρησιμοποιήσουμε μια εικόνα συμβατή με ARM, δεν θα πρέπει να προκύψουν προβλήματα. Το ζήτημα είναι να βρούμε ένα καλά διατηρημένο.

Αν σας άρεσε αυτό το άρθρο, δώστε ένα χειροκρότημα.

Έχω άλλες αναρτήσεις στη σελίδα μου σχετικά με Μικροσυσκευές, Ionic και άλλα.