Saya baru-baru ini melihat --no-cache-dir
yang digunakan dalam file Docker. Saya belum pernah melihat bendera itu sebelumnya dan bantuannya tidak menjelaskannya:
--no-cache-dir Disable the cache.
- Pertanyaan: Apa itu cache?
- Pertanyaan: Untuk apa cache digunakan?
- Pertanyaan: Mengapa saya ingin menonaktifkannya?
pip no-cache-dir
, sekarang ini adalah hasil pertama.Jawaban:
.whl
, dll) dari modul yang Anda instal melalui pip.tar.gz
, dll) untuk menghindari pengunduhan ulang saat tidak kedaluwarsapip install
dengan tak terduga pengaturanexport PYCURL_SSL_LIBRARY=nss
danpip install pycurl
export PYCURL_SSL_LIBRARY=openssl
danpip install pycurl --compile --no-cache-dir
Tautan ke dokumentasi
https://pip.pypa.io/en/stable/reference/pip_install/#caching - @emredjan https://pip.pypa.io/en/stable/reference/pip_install/ - @mikea
sumber
--no-cache-dir
, benar?Saya pikir ada alasan bagus untuk digunakan
--no-cache-dir
saat Anda membuat image Docker. Cache biasanya tidak berguna dalam gambar Docker, dan Anda pasti dapat mengecilkan ukuran gambar dengan menonaktifkan cache.sumber
ENV PIP_NO_CACHE_DIR=1
buruh pelabuhan untuk python 3.6.10 dan gambar yang lebih tinggiAlasan lain untuk menonaktifkan cache pip - jika Anda menjalankan pip sebagai pengguna yang belum ada, direktori home-nya akan dibuat, tetapi dimiliki oleh root.
Ini terjadi pada kami saat membangun AMI Amazon di chroot - pip dijalankan sebagai pengguna yang ada di mesin pembuat, tetapi tidak di penjara chroot tempat AMI sedang dibuat. Ini bermasalah karena pengguna tertentu sekarang tidak dapat melakukan ssh ke apa yang baru saja dibuat karena direktori .ssh mereka tidak dapat dibaca oleh mereka.
Saya tidak dapat memikirkan alasan lain mengapa pip akan dijalankan sebagai pengguna yang tidak ada, jadi ini kasus yang sangat sulit.
sumber
Kurangi ukuran gambar buruh pelabuhan Anda jika Anda memiliki dependensi python di DockerFile Anda, karena registri / artifaktori pribadi atau layanan penerapan Anda mungkin memiliki batasan ukuran.
sumber
Saya mendapatkan kesalahan izin untuk instalasi beberapa paket pip jika saya tidak menggunakan
--no-cache-dir
opsi.chown /.cache
folder tidak membantu untuk beberapa alasan tetapi dengan--no-cache-dir
itu berfungsi dengan baik.sumber