Rumah Operasi dan penyelenggaraan Docker Ringkaskan beberapa kaedah untuk melangsingkan imej buruh pelabuhan

Ringkaskan beberapa kaedah untuk melangsingkan imej buruh pelabuhan

Apr 04, 2023 am 09:14 AM

Docker telah menjadi sinonim dengan cepat dengan penyelesaian kontena aplikasi Walau bagaimanapun, saiz imej Docker sering menjadi salah satu dilema yang mudah dihadapi apabila menggunakan Docker. Jelas sekali bahawa walaupun banyak imej Docker mengandungi banyak komponen berguna, ia sering juga mengandungi banyak elemen yang tidak perlu yang mengambil banyak ruang cakera keras. Ini boleh menjadi masalah, terutamanya apabila anda perlu menggunakan sejumlah besar imej Docker secara serentak. Bagaimana untuk meminimumkan saiz imej Docker ini? Artikel ini akan memperkenalkan beberapa kaedah yang boleh membantu anda melangsingkan imej Docker anda.

  1. Pilih imej yang lebih kecil sebagai imej asas.

Apabila anda membina imej Docker, imej asas adalah sangat penting. Ia mengandungi komponen utama imej Docker, jadi memilih imej asas yang betul boleh mengurangkan saiz imej Docker anda dengan ketara. Untuk mengurangkan imej Docker anda, anda harus cuba memilih imej asas yang lebih kecil.

Sebagai contoh, jika anda menulis aplikasi Python, lebih baik menggunakan Alpine Linux daripada Ubuntu kerana Alpine Linux hanya mengandungi pakej dan perpustakaan yang diperlukan, jadi ia jauh lebih kecil daripada Ubuntu.

  1. Gabungkan berbilang arahan RUN menjadi satu arahan.

Setiap arahan RUN dalam Dockerfile mencipta lapisan imej baharu dalam bekas. Ini bermakna setiap arahan RUN yang anda gunakan meningkatkan saiz imej. Oleh itu, adalah sangat penting untuk menggabungkan berbilang arahan ke dalam satu arahan RUN apabila boleh.

Berikut ialah contoh:

# 不推荐的写法:
RUN apt-get update && apt-get install -y package1 package2 \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# 推荐的写法:
RUN apt-get update \
    && apt-get install -y package1 package2 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
Salin selepas log masuk
  1. Padam fail yang tidak berguna.

Apabila membina imej Docker, banyak fail yang tidak diperlukan mungkin disertakan. Ini mungkin termasuk cache pakej atau fail lain yang dijana secara perantaraan. Fail ini mengambil banyak ruang dalam imej, jadi mengalih keluarnya boleh mengurangkan saiz imej dengan ketara.

Berikut ialah beberapa fail yang mungkin menggunakan ruang:

  • /var/cache/apt/archives
  • /usr/share/doc
  • /usr/share/man
  • /usr/share/info
  • /usr/share/locale
  • /usr/share/gtk-doc

Anda boleh mengalih keluarnya menggunakan:

RUN apt-get update \
    && apt-get install -y package1 package2 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && rm -rf /var/cache/apt/archives/* \
    && rm -rf /usr/share/doc/* \
    && rm -rf /usr/share/man/* \
    && rm -rf /usr/share/info/* \
    && rm -rf /usr/share/locale/* \
    && rm -rf /usr/share/gtk-doc/*
Salin selepas log masuk
  1. Gunakan alternatif yang lebih kecil.

Kadangkala, anda mungkin menggunakan perpustakaan atau alat, tetapi anda sebenarnya tidak memerlukan semua cirinya. Dalam kes ini, menggunakan alternatif yang ringan ialah cara yang baik untuk mengurangkan saiz imej.

Sebagai contoh, jika anda perlu menjalankan aplikasi Java dalam bekas, Oracle JDK mungkin lebih besar sedikit daripada OpenJDK. Dalam kes ini, mungkin lebih baik menggunakan OpenJDK kerana ia sedikit lebih kecil daripada Oracle JDK.

  1. Mampat/Nyahmampat.

Apabila membungkus aplikasi ke dalam imej Docker, mampatkan fail aplikasi supaya mereka menggunakan lebih sedikit ruang dalam imej. Apabila bekas Docker sedang berjalan, gunakan perintah "docker run" dan fail ini akan dinyahmampat secara automatik di dalam bekas.

Berikut ialah contoh:

# 将文件压缩并将其移动到容器中。
tar -czvf myapp.tar.gz /path/to/myapp
mv myapp.tar.gz /docker/myapp/

# 在Dockerfile中使用ADD指令将文件解压并复制到容器中。
ADD myapp.tar.gz /app/
Salin selepas log masuk

Ringkasnya, dengan memilih imej asas yang lebih kecil, menggabungkan berbilang arahan RUN menjadi satu arahan, memadamkan fail yang tidak berguna dan menggunakan lebih banyak penggantian kecil, sebagai serta memampatkan/menyahmampat imej, boleh mengurangkan saiz imej Docker dengan ketara. Melalui kaedah ini, anda boleh memastikan bahawa imej Docker anda hanya mengandungi fail dan komponen yang diperlukan, dengan itu mengurangkan saiz dan kerumitan penggunaan dan penskalaan kontena.

Atas ialah kandungan terperinci Ringkaskan beberapa kaedah untuk melangsingkan imej buruh pelabuhan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Soalan Temuduga Docker: Ace Wawancara Kejuruteraan DevOps Anda Apr 06, 2025 am 12:01 AM

Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Jilid Docker: Menguruskan data berterusan dalam bekas Jilid Docker: Menguruskan data berterusan dalam bekas Apr 04, 2025 am 12:19 AM

Dockervolumes memastikan data tetap selamat apabila bekas dimulakan semula, dipadam, atau berhijrah. 1. Buat Jilid: DockervolumecreatemyData. 2. Jalankan bekas dan gunung: dockerrun-it-vmydata:/app/dataubuntubash. 3. Penggunaan lanjutan termasuk perkongsian data dan sandaran.

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Cara keluar dari bekas dengan Docker Cara keluar dari bekas dengan Docker Apr 15, 2025 pm 12:15 PM

Empat cara untuk keluar dari Docker Container: Gunakan Ctrl D di terminal kontena masukkan perintah keluar di terminal kontena Gunakan Docker Stop & lt; container_name & gt; Perintah Gunakan Docker Kill & lt; container_name & gt; Perintah di terminal tuan rumah (keluar kuasa)

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara memulakan semula Docker Cara memulakan semula Docker Apr 15, 2025 pm 12:06 PM

Cara memulakan semula bekas Docker: Dapatkan ID Container (Docker PS); Hentikan bekas (Docker Stop & lt; container_id & gt;); Mulakan bekas (Docker Start & lt; container_id & gt;); Sahkan bahawa permulaan semula berjaya (Docker PS). Kaedah lain: Docker mengarang (Docker-Compose Restart) atau Docker API (lihat Dokumentasi Docker).

Cara Melihat Proses Docker Cara Melihat Proses Docker Apr 15, 2025 am 11:48 AM

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

See all articles