Pertanyaan Bagaimana cara menghapus tag gambar di Docker tanpa menghapus gambar itu sendiri?


Katakanlah saya ingin menandai gambar Docker, dan salah ketik. Bagaimana cara menghapus tag tanpa menghapus gambar itu sendiri? Baik manual maupun dokumentasi Docker tidak menyebutkan label.

docker tag 0e5574283393 my-imaj
docker tag 0e5574283393 my-image
# docker untag my-imaj # There is no "docker untag"!

91
2017-07-03 12:10




Bagi mereka yang ingin membatalkan tautan <none>gambar yang dicuri seperti foo/bar:<none>: gunakan docker images --digests dan docker rmi foo/bar@<digest> seperti yang dijelaskan di success.docker.com/KBase/… - Janaka Bandara


Jawaban:


Jika gambar Anda ditandai dengan lebih dari satu tag, lalu docker rmi akan menghapus tag, tetapi tidak pada gambar.

Jadi dalam contoh Anda ...

# docker rmi my-imaj

... akan menghapus tag itu dan membiarkan gambar itu ada dengan tag lain yang benar.


130
2017-07-03 12:42



Terima kasih. Saya berharap mereka menyebutkan ini dalam dokumentasi: - / - Mihai
sial ... bagaimana cara menghapus gambar melalui tag? :) - Alexander Mills
Jika tag yang saya hapus adalah yang terakhir, gambarnya akan dihapus. Jadi saya bertanya-tanya apa jawaban atas pertanyaan dalam topik ini? Bagaimana cara menghapus tag dan menyimpan gambar dalam cache? - kub1x
Skenario saya adalah satu gambar dengan tag: 1) Hapus tag dari gambar, tetapi jagalah gambar di-cache, tanpa tag. 2) Lari docker build dengan tag yang sama, tetapi mungkin berbeda Dockerfile. 3a) Jika Dockerfile tidak berubah, gambar yang di-cache ditandai kembali dengan tag yang sama. 3b) Jika Dockerfile memang berubah, gambar baru ditandai dengan tag asli dan gambar lama akan dihapus menggunakan docker image prune. - kub1x
Dan jawabannya adalah seperti biasa menggunakan --help, jangan malas membaca. docker image remove --no-prune.. kalau-kalau ada yang tertarik. - kub1x


Lari saja docker rmi my-image:0e5574283393. Ini akan menghapus tag.


12
2017-07-03 12:35



blog.tmtk.net/2013/09/16/how_to_remove_tag_on_docker.html. Ini dapat memberi Anda bantuan lebih lanjut - ashishjain


Mulai dari repo docker kosong, impor gambar dengan mengetik:

#docker run hello-world

Jalankan docker images perintah untuk daftar gambar. Hasilnya akan terlihat seperti ini:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

Sekarang mari kita buat tag gambar bernama v1 dengan menjalankan docker tag perintah:

#docker tag hello-world:latest hello-world:v1

Jika kita menjalankan docker images perintah kita akan melihat tag baru kami seperti ini:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB
hello-world         v1          7bc42cc48a84      4 weeks ago       316MB

Untuk menghapus tag tertentu (untuk menjawab pertanyaan asli), jalankan rier docker hello-world:v1 dimana v1 adalah nama tag. Outputnya akan terlihat seperti ini:

#docker rmi hello-world:v1
Untagged: hello-world:v1

Jalankan docker images perintah untuk daftar gambar. Perhatikan bahwa tag gambar telah dihapus:

REPOSITORY        TAG           IMAGE ID          CREATED           SIZE
hello-world       latest        7bc42cc48a84      4 weeks ago       316MB

4
2018-05-12 16:01



Pendekatan yang paling tidak ambigu meskipun 3 tahun kemudian. +1 - bvj


Tandai gambar lain dengan nama tag Anda dan setelah itu tag Anda dari gambar Anda saat ini akan dihapus.


0
2017-10-05 15:35



Selamat datang di ServerFault! Harap klarifikasi atau tambahkan beberapa langkah contoh perintah. Lihat panduannya di sini: serverfault.com/help/how-to-answer - Cory Knutson