Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Label Imej Docker dengan Nama Bertitik Menggunakan `docker inspect`?

Bagaimana untuk Mengekstrak Label Imej Docker dengan Nama Bertitik Menggunakan `docker inspect`?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 21:47:02802semak imbas

How to Extract Docker Image Labels with Dotted Names Using `docker inspect`?

Mengekstrak Label Imej Docker dengan Nama Bertitik

Apabila menemui imej Docker yang mempunyai label dengan nama bertitik, arahan pemeriksaan docker standard menggunakan pilihan --format boleh gagal. Ini boleh menimbulkan cabaran apabila cuba mendapatkan semula label sedemikian dari dalam skrip.

Ketiadaan Nama Bertitik dalam Carian Label

Pertimbangkan imej Docker berikut dengan nama berlabel:

FROM busybox
LABEL foo="bar"
LABEL com.wherever.foo="bang"

Menggunakan pilihan --format, mendapatkan semula nilai label foo ialah mudah:

$ docker inspect -f '{{ .Config.Labels.foo }}' foo
bar

Walau bagaimanapun, mengakses label com.wherever.foo gagal:

$ docker inspect -f '{{ .Config.Labels.com.wherever.foo }}' foo
<no value>

Penyelesaian: Menggunakan Fungsi Indeks

Untuk menyelesaikan isu ini, satu boleh menggunakan fungsi indeks, mampu mendapatkan semula kunci rentetan sewenang-wenangnya daripada peta. Dengan memasukkannya ke dalam pilihan --format, label bertitik boleh berjaya diekstrak:

$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo
bang

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Label Imej Docker dengan Nama Bertitik Menggunakan `docker inspect`?. 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