Image Tags & Management
Image tag'lari va boshqaruvi
Kitob nashrlarini tasavvur qiling: "Harry Potter, 1-nashr" va "Harry Potter, qayta ko'rib chiqilgan 2-nashr" — bir xil kitob, lekin turli versiyalar. Tag — image'ning aynan shunday versiya nomi: u sizga bitta dasturning bir nechta versiyasini bir vaqtda saqlash va ular orasida aniq tanlov qilish imkonini beradi.
$ docker build -t mening-appim:v1.0 .
$ docker build -t mening-appim:v1.1 .
$ docker build -t mening-appim:latest .
$ docker run mening-appim:v1.0 # aynan 1.0-versiyani ishga tushiradi
$ docker run mening-appim # tag berilmasa, "latest" ishlatiladi
$ docker rmi mening-appim:v1.0 # kerak bo'lmagan eski versiyani o'chirishTag nom:versiya ko'rinishida yoziladi (golang:1.22 — "golang" image'ining "1.22" versiyasi). Agar tag ko'rsatilmasa, Docker avtomatik ravishda latest ("eng oxirgi") tag'ini ishlatadi. Muhim maslahat: production (haqiqiy foydalanuvchilar ishlatadigan) muhitda hech qachon faqat latestga tayanmang — chunki u "eng oxirgisi qaysi ekanini" vaqt o'tishi bilan o'zgartiraveradi, va bu kutilmagan, kuzatib bo'lmaydigan o'zgarishlarga olib kelishi mumkin. Har doim aniq versiya raqamini (v1.2.3 kabi) ishlating — bu "Publishing Go Modules" darsida ko'rgan semantik versiyalash g'oyasining Docker'dagi ko'rinishi.
docker images bilan kompyuteringizdagi barcha image'larni (va ularning tag'larini) ko'rish, docker rmi <nom:tag> bilan esa keraksizlarini o'chirish mumkin — bu diskda joy bo'shatish uchun muhim, chunki har bir image bir necha yuz megabaytdan bir necha gigabaytgacha joy egallashi mumkin.
Key Takeaway
Key Takeaway:
Tag'lar image'ning aniq versiyasini belgilaydi; production'da hech qachon faqat latestga tayanmang — har doim aniq, sobit versiya raqamini ishlating.
NEXT UP
Understanding Docker Layer Caching