Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Apa Itu Docker Image Layers?

Posted on September 4, 2022

Docker terdiri dari beberapa layers yang secara kolektif menyediakan konten yang Anda lihat di wadah Anda. Tapi apa sebenarnya layers itu, dan apa bedanya dengan images utuh?

Dalam artikel ini Anda akan mempelajari cara membedakan kedua konsep ini dan mengapa perbedaan itu penting. Meskipun Anda dapat menggunakan Docker tanpa pemahaman yang menyeluruh tentang layers, memiliki kesadaran akan tujuannya akan membantu Anda mengidentifikasi peluang pengoptimalan.

Apa itu Docker Images?

A “images” Docker berperilaku seperti template tempat container yang konsisten dapat dibuat. Jika Docker adalah mesin virtual tradisional, image dapat disamakan dengan ISO yang digunakan untuk menginstal VM Anda. Ini bukan perbandingan yang kuat, karena Docker berbeda dari VM dalam hal konsep dan implementasi, tetapi tetap saja ini adalah titik awal yang berguna.

Images menentukan status sistem file awal dari container baru. Mereka menggabungkan kode sumber aplikasi Anda dan dependensinya ke dalam paket mandiri yang siap digunakan dengan runtime container. Di dalam images, konten sistem file direpresentasikan sebagai beberapa layers independen.

Apa itu layers?

Layers adalah hasil dari cara images Docker dibangun. Setiap langkah dalam Dockerfile membuat “layers” baru yang pada dasarnya berbeda dengan perubahan sistem file sejak langkah terakhir. Instruksi metadata seperti LABEL dan MAINTAINER tidak membuat layer karena tidak mempengaruhi filesystem.

images ini memiliki dua instruksi (COPY dan RUN) sehingga akan membuat dua layer:

FROM ubuntu:latest
SALIN foo.txt /foo.txt
RUN date > /built-on.txt

Langkah pertama menyalin foo.txt ke dalam layer baru yang didasarkan pada ubuntu:images terbaru.Langkah kedua menjalankan perintah date dan menyalurkan outputnya ke dalam file. Ini membuat layers kedua yang didasarkan pada one.

Create foo.txt sebelumnya di direktori kerja Anda:

$ echo “Hello World” > foo.txt

Sekarang buat contoh images:

$ docker build . -t demo: terbaru
Mengirim konteks build ke daemon Docker 2.56kB
Langkah 1/3 : DARI ubuntu: terbaru
—> df5de72bdb3b
Langkah 2/3 : SALIN foo.txt /foo.txt
—> 4932aede6a15
Langkah 3/3 : JALANKAN tanggal > /built-on.txt
—> Berjalan di 91d260fc2e68
Menghapus wadah perantara 91d260fc2e68
—> 6f653c6a60fa
Berhasil membangun 6f653c6a60fa
Berhasil memberi tag foo:latest

Setiap build step memancarkan ID dari layer yang dibuat. layers langkah terakhir menjadi images akhir sehingga diberi tag dengan foo:latest.

Urutan mengungkapkan bahwa layers adalah images Docker yang valid. Meskipun istilah “layers” biasanya tidak digunakan untuk merujuk pada images yang diberi tag, semua images yang diberi tag secara teknis hanyalah layers dengan pengenal yang ditetapkan.

Anda dapat memulai wadah dari images layers perantara:

$ docker run -it 4932aede6a15 sh
# cat /foo.txt
Halo Dunia
# cat /built-on.txt
cat: /built-on.txt: No such file or directory

Contoh ini memulai container dari layer yang dibuat oleh langkah build kedua. foo.txt tersedia di wadah tetapi built-on.txt tidak ada karena tidak ditambahkan sampai langkah ketiga. File itu hanya tersedia di sistem file layers berikutnya.

Peranan Layers

Layers berisi perubahan yang dibuat oleh langkah pembuatan, relatif terhadap layers sebelumnya di Dockerfile. Instruksi FROM adalah kasus khusus yang mereferensikan layers terakhir dari images yang ada.

Layers memungkinkan langkah-langkah pembangunan di-cache untuk menghindari pekerjaan yang berlebihan. Docker dapat melewati instruksi yang tidak diubah di Dockerfile Anda dengan menggunakan kembali layers yang dibuat sebelumnya. Ini mendasarkan langkah selanjutnya pada layers yang ada, alih-alih membangun yang baru.

Anda dapat melihat ini dengan memodifikasi file Docker Anda sebagai berikut:

FROM ubuntu:latest
SALIN foo.txt /foo.txt
Tanggal RUN +%Y-%m-%d > /built-on.txt

Langkah build ketiga telah berubah. Sekarang bangun kembali image:

$ docker build Anda. -t demo: terbaru
Mengirim konteks build ke daemon Docker 3.584kB
Langkah 1/3 : DARI ubuntu: terbaru
—> df5de72bdb3b
Langkah 2/3 : SALIN foo.txt /foo.txt
—> Menggunakan cache
—> 4932aede6a15
Langkah 3/3 : JALANKAN tanggal +%Y-%m-%d > /built-on.txt
—> Berjalan di 2b91ec0462c4
Menghapus wadah perantara 2b91ec0462c4
—> c6647ff378c1
Berhasil membangun c6647ff378c1
Berhasil menandai demo:latest

Langkah pembuatan kedua ditampilkan sebagai Menggunakan cache dan menghasilkan ID layers yang sama. Docker dapat melewati pembuatan layers ini karena sudah dibuat sebelumnya dan foo.txt tidak berubah sejak build.

pertama Caching ini hanya berfungsi sampai layers dimodifikasi. Semua langkah setelah layers itu perlu dibangun kembali juga sehingga didasarkan pada revisi sistem file baru.

Layers dan Operasi Pull

Manfaat lain dari layers adalah cara mereka mengaktifkan penarikan images sebagian. Setelah Anda mengunduh beberapa images ke mesin Anda, Anda akan sering menemukan tarikan baru dapat melewati beberapa layers yang sudah Anda miliki. images ini berisi 13 layers tetapi hanya enam yang harus diunduh oleh operasi tarik:

docker pull php: 8.0-apache
8.0-apache: Menarik dari perpustakaan/php
7a6db449b51b: Sudah ada
ad2afdb99a9d: Sudah ada
dbc5aa907229: Sudah ada
82f252ab4ad1: Sudah ada
bf5b34fc9894: Sudah ada
6161651d3d95: Sudah ada
cf2adf296ef1: Sudah ada
f0d7c5221e44: Tarik selesai
f647198f6316: Tarik selesai
c37afe1da4e5: Tarik selesai
09c93531cbca: Tarik selesai
fef371007dd3: Tarik selesai
52043dbb1c06: Tarik selesai
Intisari: sha256:429889e8f9eac0a806a005b0728a004303b0d49d77b09496d39158707abd6280
Status: Mengunduh images yang lebih baru untuk php:8.0-apache
docker.io/library/php:8.0-apache

layers lain sudah ada di host Docker sehingga dapat digunakan kembali. Ini meningkatkan kinerja dan menghindari pemborosan bandwidth jaringan.

Memeriksa layers images

Anda dapat membuat daftar layers di dalam images dengan menjalankan perintah riwayat images buruh pelabuhan. Setiap layers menampilkan ID dari images yang dibuat dan instruksi Dockerfile yang menyebabkan perubahan. Anda juga dapat melihat ukuran total konten di dalam layers.

$ docker images ls
images DIBUAT OLEH UKURAN KOMENTAR
6f653c6a60fa 4 menit yang lalu /bin/sh -c date > /built-on.txt 29B
f8420d1a96f3 4 menit yang lalu /bin/sh -c #(nop) SALIN file:a5630a7506b26a37… 0B
df5de72bdb3b 4 minggu yang lalu /bin/sh -c #(nop) CMD [“bash”] 0B
4 minggu yang lalu /bin/sh -c #(nop) ADD file:396eeb65c8d737180… 77.8MB

layers terakhir ditampilkan karena mengacu pada layers di dalam ubuntu:images dasar terbaru. Ini tidak tersedia secara lokal, karena hanya layers terakhir dari images dasar (df5de72bdb3b) yang ditarik ke bawah selama pembuatan. Tidak perlu secara independen menarik semua layers perantara saat Anda ingin menggunakan images tertentu.

Kesimpulan

images dan layers Docker umumnya merupakan istilah yang dapat dipertukarkan. layers adalah images dan images terbentuk dari satu atau lebih layers. Perbedaan utama terletak pada tag: images akan ditandai dan dirancang untuk pengguna akhir, sedangkan istilah “layers” biasanya mengacu pada images perantara yang tidak ditandai yang dibuat sebagai bagian dari operasi pembuatan. Ini tidak terlihat kecuali Anda mencarinya.

Ada satu topik lagi yang berhubungan dengan layers: menjalankan wadah menambahkan layers tambahan yang dapat ditulis di atas imagesnya. layers yang bersumber dari images penampung bersifat hanya-baca sehingga modifikasi sistem file yang dibuat oleh penampung menargetkan layers ephemeral yang dapat ditulis. layers yang dapat ditulis akan dibuang saat penampung dihentikan atau dihapus.

Itulah berita seputar Apa Itu layers images Docker?, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Inilah Doods Viral: Pengertian, Bahaya, dan Kenapa Kalian Harus Ekstra Waspada!
  • Gini Caranya Ngebangun Bisnis AI yang Menguntungkan dalam 48 Jam Saja!
  • Pengertian “He is Risen” Adalah?
  • Inilah Rekomendasi HP Snapdragon Paling Murah dengan RAM 8 GB Terupdate April 2026
  • Inilah 12 Kampus Negeri di Jogja yang Jarang Diketahui, Ternyata Banyak yang Kasih Kuliah Gratis!
  • Inilah Rekomendasi HP Tecno Kamera Terbaik 2026, Spek Gahar Harga Tetap Pelajar!
  • Apa itu PPU UTBK? Ini Rahasia Taklukkan Skor Tinggi di SNBT 2026 Tanpa Harus Menghafal!
  • Inilah Alasan Kenapa Lapisan Es Greenland Ternyata Bisa Bergerak Kayak Adonan yang Dipanaskan
  • Inilah Kode Redeem FC Mobile 10 April 2026 dan Rahasia Panen Pemain OVR 117
  • Apa itu Benwit/Bensin Sawit? Benarkah Bisa Jadi Solusi Bahan Bakar Masa Depan atau Cuma Hoaks Belaka?
  • Inilah 4 Tablet 5G Termurah April 2026 yang Kencang dan Worth It untuk Kerja!
  • Inilah Rincian UKT Unesa 2026 Jalur SNBP dan SNBT, Cek Biaya Kuliahmu di Sini!
  • Inilah Bocoran Event Free Fire 10 April 2026, Ada Diskon 90 Persen dan Kode Redeem Gratis!
  • Inilah Deretan HP Murah April 2026, dari Infinix NFC Hingga Realme dengan Baterai Super Besar dan Update Penting IGRS
  • Inilah Alasan Google Kena Sanksi Teguran Terkait PP Tunas dan Perlindungan Anak di YouTube
  • Inilah Spesies Baru Homalomena dari Sumatera yang Berhasil Diidentifikasi Melalui Media Sosial
  • Inilah Cara Download FF Advance Server 2026 Apk yang Aman dan Update Misteri Bawah Laut Terbaru!
  • Inilah 10 PTS Terbaik di Indonesia Versi Uniranks 2026, Referensi Mantap Buat Kalian Calon Mahasiswa Baru!
  • Inilah Daftar Lengkap Pusat UTBK 2026 di Jawa Tengah, Cek Lokasi dan Alamat Kampusnya Biar Nggak Salah Alamat!
  • Inilah Alasan Kenapa Hasil TKA Jadi Kunci Penting di Jalur Prestasi SPMB 2026, Orang Tua Wajib Tahu!
  • Inilah Alasan Kenapa Situs Bumiayu Dianggap Lebih Tua dari Sangiran dan Jadi Kunci Sejarah Jawa
  • Inilah Cara Cerdik Larva Kumbang Hitam Eropa Meniru Aroma Bunga untuk Menipu Lebah
  • Inilah 45 Planet Berbatu yang Paling Berpotensi Jadi Rumah Kedua Manusia di Masa Depan
  • Inilah Cara Ambil Kursus Online Gratis dari Harvard University untuk Asah Skill Digital Kalian!
  • Inilah Rincian UKT UGM 2026 Jalur SNBP dan SNBT, Calon Mahasiswa Wajib Tahu!
  • Inilah Daftar 25 Universitas Terbaik di Inggris 2026 Versi The Guardian yang Wajib Kalian Lirik!
  • Inilah Alasan University of Oxford Masih Jadi Juara Dunia di QS Rankings 2026, Empat Jurusan Ini Nggak Ada Lawannya!
  • Inilah 17 Rahasia Tips Sukses dari Produk Digital, Yuk Simak!
  • Inilah Peluang Lolos SNBT Unair 2026, Cek Keketatan Jurusan Pilihanmu Sekarang!
  • Hapus PR! China Baru Saja Rombak Aturan Sekolah, Inilah Caranya Mereka Ngurangin Beban Stres Siswa
  • Is it Time to Replace Nano? Discover Fresh, the Terminal Text Editor You Actually Want to Use
  • How to Design a Services Like Google Ads
  • How to Fix 0x800ccc0b Outlook Error: Step-by-Step Guide for Beginners
  • How to Fix NVIDIA App Error on Windows 11: Simple Guide
  • How to Fix Excel Formula Errors: Quick Fixes for #NAME
  • How to Use VoxCPM2: The Complete Tutorial for Professional Voice Cloning and AI Speech Generation
  • Complete tutorial for Creao AI: How to build smart AI agents that automate your daily tasks
  • How to Streamline Your Digital Workflow with TeraBox AI: A Complete Tutorial for Beginners
  • How to Run Google Gemma 4 Locally: A Beginner’s Guide to Tiny but Mighty AI Models
  • A Beginner Tutorial on Cloning Website Source Code Using ChatGPT and AI Logic Reconstruction
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme