Οι 20 βασικές εντολές Docker που πρέπει να γνωρίζετε το 2022

6
Οι 20 βασικές εντολές Docker που πρέπει να γνωρίζετε το 2022

Εισαγωγή

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

Δείτε αυτά τα μαθήματα και μάθετε το Docker δωρεάν.

Τι είναι το Docker;

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

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

Διαβάστε επίσης: Μάθετε τη διαφορά μεταξύ Docker εναντίον Kubernetes

Κορυφαίες 20 εντολές Docker

Έχουμε συγκεντρώσει 20 εντολές docker για να σας βοηθήσουμε να πλοηγηθείτε στον κινητήρα docker χωρίς προβλήματα και να ολοκληρώσετε το μεγαλύτερο μέρος της εργασίας σας. Ας ξεκινήσουμε.

  • Έκδοση Docker
  • Αναζήτηση Docker
  • Τράβηγμα Docker
  • Docker τρέξιμο
  • Docker ps
  • Σταματήστε το Docker
  • Επανεκκίνηση του Docker
  • Docker kill
  • Docker exec
  • Είσοδος Docker
  • Δέσμευση Docker
  • Docker push
  • Δίκτυο Docker
  • Ιστορικό Docker
  • Docker rmi
  • Docker ps -a
  • Αντίγραφο Docker
  • Μητρώα Docker
  • Ένταση Docker
  • Αποσύνδεση Docker
  1. Έκδοση Docker

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

[email protected]:/home/greatlearning$ docker --version
Docker version 18.09.6, build 481bc77
  1. Αναζήτηση Docker

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

docker search MySQL

Μπορείτε να χρησιμοποιήσετε τον ιστότοπο του Docker Hub για αναζήτηση μέσω της επιλογής που βασίζεται σε GUI.

  1. Τράβηγμα Docker

Όπως υποδηλώνει το όνομα, αυτή η εντολή τραβά μια συγκεκριμένη εικόνα από το Docker Hub. Το μόνο που έχετε να κάνετε είναι να χρησιμοποιήσετε την εντολή ‚docker pull‘ μαζί με το όνομα της εικόνας. Ακολουθεί ένα παράδειγμα τραβήγματος μιας εικόνας χωρίς τη χρήση της ετικέτας.

docker pull --platform Linux/x86_64 MySQL
Here is an example that demonstrates how to pull an Apache HTTP server image from the Docker repository using the tag -
Using default tag: latest
latest: Pulling from library/httpd
f5d23c7fed46: Pull complete
b083c5fd185b: Pull complete
bf5100a89e78: Pull complete
98f47fcaa52f: Pull complete
622a9dd8cfed: Pull complete
Digest: sha256:8bd76c050761610773b484e411612a31f299dbf7273763103edbda82acd73642
Status: Downloaded newer image for httpd: latest
[email protected]:/home/greatlearning$

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

Μπορούμε να χρησιμοποιήσουμε την εντολή ‚-all-tags‘ για να τραβήξουμε όλες τις εικόνες από το αποθετήριο για πολλές εικόνες.

  1. Docker τρέξιμο

Αυτή η εντολή χρησιμοποιείται για τη δημιουργία ενός κοντέινερ από μια εικόνα. Εδώ είναι πώς να το κάνετε –

docker run --env MYSQL_ROOT_PASSWORD=my-secret-pw --detach mysql

Η επιλογή «–αποσύνδεση» εκτελεί το κοντέινερ και η επιλογή «–env» χρησιμοποιείται για τον ορισμό της υποχρεωτικής μεταβλητής. Εάν δεν χρησιμοποιήσετε την επιλογή ‚–όνομα‘, το docker θα εκχωρήσει τυχαία ένα όνομα στο κοντέινερ.

  1. Docker ps

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

docker ps --all
  1. Σταματήστε το Docker

Η εντολή ‚docker stop‘ σταματά ένα κοντέινερ χρησιμοποιώντας το όνομα του κοντέινερ ή το αναγνωριστικό του. Εδώ είναι πώς να το κάνετε –

docker stop f8c52bedeecc
  1. Επανεκκίνηση του Docker

Αυτή η εντολή χρησιμοποιείται για επανεκκίνηση του σταματημένου κοντέινερ. Συνιστάται να το χρησιμοποιήσετε μετά την επανεκκίνηση του συστήματος. Εδώ είναι πώς να το κάνετε –

[email protected]:/home/greatlearning$
docker restart f8c52bedeecc
  1. Docker kill

Αυτή η εντολή χρησιμοποιείται για να σταματήσει αμέσως το κοντέινερ σκοτώνοντας την εκτέλεσή του. Ενώ η εντολή „docker stop“ βοηθά να τερματιστεί η λειτουργία του κοντέινερ στον δικό της χρόνο, η εντολή „docker kill“ το σταματά αμέσως. Εδώ είναι να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$
docker kill 09ca6feb6efc
To check whether the container is stopped or killed, use the following command -
[email protected]:/home/greatlearning$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

  1. Docker exec

Αυτή η εντολή χρησιμοποιείται για πρόσβαση στο κοντέινερ που εκτελείται. Εδώ είναι πώς να το χρησιμοποιήσετε –

docker exec -it test_db bash
mysql -uroot -pmy-secret-pw
SHOW DATABASES;

Πρέπει να δώσετε είτε το όνομα είτε το αναγνωριστικό του κοντέινερ, το οποίο είναι „test_db“ σε αυτήν την περίπτωση. Οι επιλογές ‚-i‘ και ‚-t‘ χρησιμοποιούνται για πρόσβαση στη διαδραστική λειτουργία.

  1. Είσοδος Docker

Αυτή η εντολή σας βοηθά να συνδεθείτε στο docker hub σας. Καθώς προσπαθείτε να συνδεθείτε, θα σας ζητηθεί να δώσετε τα διαπιστευτήρια του Docker Hub.

[email protected]:/home/greatlearning$ docker login
Login with your Docker ID to push and pull images from Docker Hub. Suppose you don’t have a Docker ID, head over to https://hub.docker.com to create one.
Username: greatlearning
Password:
Configure a credential helper to remove this warning. See: https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
  1. Δέσμευση Docker

Αυτή η εντολή χρησιμοποιείται για τη δημιουργία ή την αποθήκευση μιας εικόνας του επεξεργασμένου κοντέινερ στο τοπικό σύστημα.

Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$
docker commit 09ca6feb6efc greatlearning/httpd_image
sha256:d1933506f4c1686ab1a1ec601b1a03a17b41decbc21d8acd893db090a09bb31c
Here, ‘greatlearning’ is the username and ‘httpd_image’ is the image name of the edited container. 
  1. Docker push

Αυτή η εντολή βοηθά στην προώθηση ή τη μεταφόρτωση μιας εικόνας docker στο αποθετήριο ή στον κόμβο docker. Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$ docker push greatlearning/httpd_image
The push refers to the repository [docker.io/greatlearning/httpd_image]
734d9104a6a2: Pushed
635721fc6973: Mounted from library/httpd
bea448567d6c: Mounted from library/httpd
bfaa5f9c3b51: Mounted from library/httpd
9d542ac296cc: Mounted from library/httpd
d8a33133e477: Mounted from library/httpd
latest: 
digest: sha256:3904662761df9d76ef04ddfa5cfab764b85e3eedaf10071cfbe2bf77254679ac size: 1574
  1. Δίκτυο Docker

Η εντολή ‚docker network‘ χρησιμοποιείται για τη γνώση των λεπτομερειών της λίστας των δικτύων στο σύμπλεγμα. Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
85083e755f04        bridge              bridge              local
f51d1f2379e0        host                host                local
5e5d9a154c00        none                null                local
Apart from this, you can also use the following docker network commands to manage networks -
Connect  - to connect a container to a network
Disconnect - to disconnect a container from a network
Create  - to create a network
Ls - to list all networks
Inspect - to display detailed information on one or more networks
prune - to remove all unused networks
rm - to remove one or more networks
Docker history 
This command is used to check the history of a docker image. The image name has to be mentioned while using the command. Here is how to use it -
[email protected]:/home/greatlearning$ docker history httpd
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
ee39f68eb241        3 days ago          /bin/sh -c #(nop)  CMD ["httpd-foreground"]     0B
<missing>           3 days ago          /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           3 days ago          /bin/sh -c #(nop) COPY file:c432ff61c4993ecd…   138B
<missing>           2 days ago          /bin/sh -c set -eux;   savedAptMark="$(apt-m…   49.1MB
<missing>           2 days ago          /bin/sh -c #(nop)  ENV HTTPD_PATCHES=           0B
<missing>           2 days ago          /bin/sh -c #(nop)  ENV HTTPD_SHA256=b4ca9d05…   0B
<missing>           2 days ago          /bin/sh -c #(nop)  ENV HTTPD_VERSION=2.4.39     0B
<missing>           2 days ago          /bin/sh -c set -eux;  apt-get update;  apt-g…   35.4MB
<missing>           5 days ago          /bin/sh -c #(nop) WORKDIR /usr/local/apache2    0B
<missing>           5 days ago          /bin/sh -c mkdir -p "$HTTPD_PREFIX"  && chow…   0B
<missing>           5 days ago          /bin/sh -c #(nop)  ENV PATH=/usr/local/apach…   0B
<missing>           5 days ago          /bin/sh -c #(nop)  ENV HTTPD_PREFIX=/usr/loc…   0B
<missing>           4 days ago          /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           4 days ago          /bin/sh -c #(nop) ADD file:71ac26257198ecf6a…   69.2MB
  1. Docker rmi

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

docker rmi eb0e825dc3cf
  1. Docker ps -a

Αυτή η εντολή χρησιμοποιείται για τη γνώση των λεπτομερειών όλων των κοντέινερ που τρέχουν, διακόπηκαν ή εξήλθαν. Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$ docker ps -a
CONTAINER ID        IMAGE                            COMMAND                  CREATED             STATUS                     PORTS                                                                                                                                NAMES
09ca6feb6efc        httpd                            "httpd-foreground"       51 seconds ago      Up 49 seconds              80/tcp                                                                                                                               sane_trell
2f6fb3381078        sequenceiq/hadoop-docker:2.7.0   "/etc/bootstrap.sh -d"   2 weeks ago         Exited (137) 9 days ago                                                                                                                                         better_naman
9f397feb3a46        sequenceiq/hadoop-docker:2.7.0   "/etc/bootstrap.sh -…"   2 weeks ago         Exited (255) 2 weeks ago   2122/tcp, 8030-8033/tcp, 8040/tcp, 8042/tcp, 8088/tcp, 19888/tcp, 49707/tcp, 50010/tcp, 50020/tcp, 50070/tcp, 50075/tcp, 50090/tcp   determined_sarah
9b6343d3b5a0        hello-world                      "/hello"                 2 weeks ago         Exited (0) 2 weeks ago                                                                                                                                          mega_steven
  1. Αντίγραφο Docker

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

[email protected]:/home/greatlearning$ sudo docker cp 09ca4feb7tfc:/usr/local/apache2/logs/httpd.pid /home/greatlearning/
[sudo] password for greatlearning:
In the above example, we used the docker container with id 09ca4feb7tfc to copy the file ‘http.pid.’ To check whether the file is copied or not, run this command -
[email protected]:/home/greatlearning$ ls
Desktop  Documents  example  examples.desktop  httpd.pid  nginx_new.yml  nginx.yml
  1. Μητρώα Docker

Αυτή η εντολή χρησιμοποιείται για τον έλεγχο των αρχείων καταγραφής όλων των κοντέινερ docker με το αντίστοιχο αναγνωριστικό που αναφέρεται στην εντολή. Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$ docker logs 09ca6feb6efc
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
[Mon Jul 16 14:01:55.400472 2019] [mpm_event:notice] [pid 1:tid 140299791516800] AH00489: Apache/2.4.39 (Unix) configured -- resuming normal operations
[Mon Jul 16 14:01:55.400615 2019] [core:notice] [pid 1:tid 140299791516800] AH00094: Command line: 'httpd -D FOREGROUND'
[Mon Jul 16 14:08:36.798229 2019] [mpm_event:notice] [pid 1:tid 140299791516800] AH00491: caught SIGTERM, shutting down
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
[Mon Jul 15 14:08:38.259870 2019] [mpm_event:notice] [pid 1:tid 139974087980160] AH00489: Apache/2.4.39 (Unix) configured -- resuming normal operations
[Mon Jul 15 14:08:38.260007 2019] [core:notice] [pid 1:tid 139974087980160] AH00094: Command line: 'httpd -D FOREGROUND'
[Mon Jul 15 14:09:01.540647 2019] [mpm_event:notice] [pid 1:tid 139974087980160] AH00491: caught SIGTERM, shutting down
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
[Mon Jul 16 14:10:43.782606 2019] [mpm_event:notice] [pid 1:tid 140281554879616] AH00489: Apache/2.4.39 (Unix) configured -- resuming normal operations
[Mon Jul 16 14:10:43.782737 2019] [core:notice] [pid 1:tid 140281554879616] AH00094: Command line: 'httpd -D FOREGROUND'
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 172.17.0.2. Set the ‘ServerName’ directive globally to suppress this message
[Mon Jul 16 14:14:08.270906 2019] [mpm_event:notice] [pid 1:tid 140595254346880] AH00489: Apache/2.4.39 (Unix) configured -- resuming normal operations
[Mon Jul 16 14:14:08.272628 2019] [core:notice] [pid 1:tid 140595254346880] AH00094: Command line: 'httpd -D FOREGROUND'
  1. Ένταση Docker

Αυτή η εντολή δημιουργεί έναν τόμο έτσι ώστε το κοντέινερ docker να μπορεί να τον χρησιμοποιήσει για την αποθήκευση δεδομένων. Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$ docker volume create
7e7bc886f69bb24dbdbf19402e31102a25db91bb29c56cca3ea8b0c611fd9ad0
To check whether this command created the volume or not, run the following command -
[email protected]:/home/greatlearning$ docker volume ls
DRIVER              VOLUME NAME
local               7e7bc886f69bb24dbdbf19402e31102a25db91bb29c56cca3ea8b0c611fd9ad0
  1. Αποσύνδεση Docker

Αυτή η εντολή θα σας αποσυνδέσει από το docker hub. Εδώ είναι πώς να το χρησιμοποιήσετε –

[email protected]:/home/greatlearning$ docker logout
Removing login credentials for https://index.docker.io/v1/

συμπέρασμα

Μπορείτε να δοκιμάσετε τις εντολές docker στο περιβάλλον του εργαστηρίου σας για να τις εξασκήσετε για την ανάπτυξη της πηγής. Ελπίζουμε ότι αυτές οι 20 εντολές docker θα σας βοηθήσουν να ξεκινήσετε με το docker και να μάθετε να εκτελείτε βασικές λειτουργίες χωρίς να σας κουράζουν. Αποκτήστε το δωρεάν Docker για Windows και αναβαθμίστε τις δεξιότητές σας στο Docker.

Schreibe einen Kommentar