Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Semak di mana imej docker ditarik dan diletakkan

Semak di mana imej docker ditarik dan diletakkan

PHPz
PHPzasal
2023-05-13 18:41:375785semak imbas

Docker ialah teknologi kontena sumber terbuka yang boleh digunakan untuk membina, menerbitkan dan menjalankan aplikasi. Dengan menggunakan imej Docker, pengguna boleh memuat turun dan memasang aplikasi pra-bina atau persekitaran kontena dengan mudah dan cepat.

Imej docker terdiri daripada berbilang lapisan (Lapisan), setiap lapisan mengandungi syot kilat sistem fail. Apabila pengguna menarik imej Docker, semua lapisan imej sebenarnya diperoleh daripada Docker Registry dan digabungkan untuk membina imej Docker yang lengkap.

Jadi, di manakah lokasi storan tempatan imej Docker? Artikel ini akan memperkenalkannya kepada anda secara terperinci.

  1. Lihat senarai imej Docker

Pertama, kita perlu melihat senarai imej Docker tempatan semasa. Masukkan arahan berikut dalam terminal:

docker images

Selepas pelaksanaan, senarai semua imej Docker pada mesin akan disenaraikan, termasuk ID imej, nama imej, label imej, saiz imej dan maklumat lain. Seperti yang ditunjukkan dalam rajah di bawah:

Docker images

Seperti yang anda lihat daripada rajah di atas, setiap imej mempunyai ID unik, nama dan beberapa teg (juga dipanggil versi). Antaranya, medan REPOSITORY mewakili nama imej, medan TAG mewakili label imej, dan medan ID IMAGE ialah pengecam unik imej.

  1. Lihat lokasi storan imej Docker

Dalam Docker, setiap imej terdiri daripada berbilang lapisan (Lapisan). Oleh itu, apabila pengguna memuat turun atau membina imej Docker, semua lapisan imej sebenarnya dimuat turun ke storan setempat.

Dalam sistem Linux, imej Docker sebenarnya disimpan dalam direktori /var/lib/docker. Masukkan arahan berikut dalam terminal:

sudo ls -l /var/lib/docker/

Selepas pelaksanaan, terminal akan memaparkan senarai semua fail dan folder dalam direktori /var/lib/docker/. Antaranya, folder /var/lib/docker/image ialah lokasi utama tempat Docker menyimpan imej. Seperti yang ditunjukkan dalam rajah di bawah:

Semak di mana imej docker ditarik dan diletakkan

Dalam direktori /var/lib/docker/image/overlay2/imagedb/content/sha256, semua imej Docker yang dimuat turun (dinamakan dengan ID imej) disimpan, yang merupakan lokasi storan semua lapisan . Dalam setiap direktori ID imej, terdapat fail bernama "real" atau "diff", yang mewakili lokasi storan lapisan ini.

  1. Sahkan lokasi storan lapisan imej

Untuk setiap lapisan imej Docker, lokasi storannya boleh disahkan dengan melaksanakan arahan berikut:

docker history <image_name>:<tag>

Contohnya, untuk imej nginx, melaksanakan arahan:

docker history nginx:latest

akan mengeluarkan hasil berikut:

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
84cf8d0a2e04        3 weeks ago         /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  STOPSIGNAL SIGTERM           0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>           3 weeks ago         /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B
<missing>           3 weeks ago         /bin/sh -c set -x  && apt-get update  && ap…   68.2MB
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NJS_VERSION=2.1.0.6      0B
<missing>           3 weeks ago         /bin/sh -c #(nop)  ENV NGINX_VERSION=1.16.1     0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B
<missing>           4 weeks ago         /bin/sh -c #(nop)  CMD ["bash"]                 0B
<missing>           4 weeks ago         /bin/sh -c #(nop) ADD file:7fbfce9f6a99e63a5…   63.2MB

Antaranya, medan SIZE setiap lapisan mewakili ruang sebenar yang diduduki oleh lapisan itu. Lajur pertama output arahan ini ialah ID setiap lapisan imej Docker, mewakili setiap lapisan imej dari atas ke bawah.

Kami boleh mengesahkan lokasi storan khusus setiap lapisan berdasarkan output arahan ini. Sebagai contoh, dalam output perintah di atas, lajur terakhir ialah maklumat perihalan lapisan, yang termasuk perintah asal dan parameter lapisan.

Untuk lapisan pertama imej nginx (ID ialah "84cf8d0a2e04"), CMD lapisan ini ialah "CMD ["nginx" "-g" "daemon..."", yang bermaksud memulakan perkhidmatan nginx; untuk yang berikut Setiap lapisan mengandungi konfigurasi atau arahan lain. Oleh itu, kita boleh meneka secara kasar di mana setiap lapisan imej Docker disimpan.

  1. Ringkasan

Dengan arahan di atas, pengguna boleh melihat imej Docker yang disimpan secara tempatan di bawah sistem Linux. Lapisan imej Docker disimpan dalam direktori /var/lib/docker/image/overlay2/imagedb/content/sha256 dengan ID imej sebagai nama folder. Setiap lapisan disimpan dalam fail "sebenar" atau "berbeza".

Untuk lokasi storan setiap lapisan imej, anda boleh melihatnya dengan melaksanakan perintah docker history dan cari maklumat penerangan lapisan dalam hasil output untuk meneka secara kasar lokasi storan lapisan tersebut.

Apabila menggunakan imej dan bekas Docker, memahami lokasi storan imej Docker boleh mengurus ruang storan setempat dengan lebih baik, serta menyandarkan dan memulihkan imej dan bekas Docker.

Atas ialah kandungan terperinci Semak di mana imej docker ditarik dan diletakkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:permulaan buruh pelabuhan gagalArtikel seterusnya:permulaan buruh pelabuhan gagal