Rumah > Artikel > Operasi dan penyelenggaraan > Semak di mana imej docker ditarik dan diletakkan
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.
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:
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.
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:
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.
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.
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!