วิธีลบแท็กรูปภาพใน Docker โดยไม่ต้องลบรูปภาพออกเอง


134

สมมติว่าฉันต้องการติดแท็กรูปภาพ Docker และพิมพ์ผิด ฉันจะลบแท็กโดยไม่ลบภาพได้อย่างไร ทั้ง manpages และเอกสาร Docker ไม่พูดถึงการลบแท็ก

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

4
สำหรับผู้ที่ต้องการที่จะยกเลิกการแท็ก<none>ภาพ -tagged เช่นfoo/bar:<none>งาน: ใช้งานdocker images --digestsและdocker rmi foo/bar@<digest>ตามที่อธิบายไว้ในsuccess.docker.com/KBase/...
Janaka Bandara

คำตอบ:


194

หากรูปภาพของคุณถูกแท็กด้วยแท็กมากกว่าหนึ่งแท็กdocker rmiจะเป็นการลบแท็ก แต่ไม่ใช่รูปภาพ

ดังนั้นในตัวอย่างของคุณ ...

# docker rmi my-imaj

... จะลบแท็กนั้นและปล่อยให้ภาพนั้นอยู่กับแท็กที่ถูกต้องอื่น ๆ


4
ขอบคุณ ฉันหวังว่าพวกเขาจะพูดถึงเรื่องนี้ในเอกสาร: - /
Mihai

2
หากแท็กที่ฉันลบเป็นแท็กสุดท้ายรูปภาพนั้นจะถูกลบ ดังนั้นฉันสงสัยว่าคำตอบของคำถามในหัวข้อคืออะไร ฉันจะลบแท็กและเก็บรูปภาพไว้ได้อย่างไร
kub1x

4
และคำตอบก็คือใช้--helpเสมออย่าขี้เกียจอ่าน docker image remove --no-prune.. ในกรณีที่มีคนสนใจ
kub1x

4
นี่เป็นเท็จมันเพียงลบภาพของฉัน docker saveโชคดีที่รู้ว่าผมเป็นนักเทียบท่าแล้วน่าสงสัยและสร้างการสำรองข้อมูลก่อนด้วย
user259412

2
@peterh คำตอบที่ชัดเจนIf your image is tagged with more than one tag...ควรปรับปรุงอย่างไรก็ตามด้วยคำสั่งจากความคิดเห็นที่อธิบายถึงวิธีการลบแท็กสุดท้ายโดยไม่ต้องลบภาพ
BrainSlugs83

18

เรียกใช้docker rmi REPOSITORY:TAGเพื่อลบแท็ก

REPOSITORYและTAGค่ามาจากdocker imagesการส่งออก

ตัวอย่างเช่น

$ docker rmi my-image:0e5574283393
Untagged: my-image:0e5574283393

blog.tmtk.net/2013/09/16/how_to_remove_tag_on_docker.html สิ่งนี้อาจช่วยให้คุณได้รับความช่วยเหลือเพิ่มเติม
ashishjain

17

เริ่มต้นจาก repo docker ที่ว่างเปล่านำเข้าภาพโดยการพิมพ์:

#docker run hello-world

เรียกใช้docker imagesคำสั่งเพื่อแสดงรายการรูปภาพ ผลลัพธ์ควรมีลักษณะเช่นนี้:

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

ตอนนี้เรามาสร้างแท็กรูปภาพที่เรียกว่าv1โดยการรันdocker tagคำสั่ง:

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

หากเราเรียกใช้docker imagesคำสั่งเราจะเห็นแท็กใหม่ของเราดังนี้:

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

ในการลบแท็กเฉพาะ (เพื่อตอบคำถามต้นฉบับ) ให้เรียกใช้ docker rmi hello-world:v1โดยที่v1คือชื่อแท็ก ผลลัพธ์จะมีลักษณะดังนี้:

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

เรียกใช้docker imagesคำสั่งเพื่อแสดงรายการรูปภาพ โปรดสังเกตว่าลบแท็กรูปภาพแล้ว:

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

แนวทางที่คลุมเครือน้อยที่สุดแม้ว่า 3 ปีต่อมา +1
bvj

0

แท็กภาพอื่น ๆ ด้วยชื่อแท็กของคุณและหลังจากนั้นแท็กของคุณจากภาพปัจจุบันของคุณจะถูกลบ


ยินดีต้อนรับสู่ ServerFault! กรุณาชี้แจงหรือเพิ่มขั้นตอนตัวอย่างคำสั่งบางอย่าง ลองดูคำแนะนำได้ที่นี่: serverfault.com/help/how-to-answer
Cory Knutson

ไม่ใช่คำตอบที่มีประโยชน์หากแท็กเป็นตัวพิมพ์ใหญ่ตามที่ระบุไว้คุณจะไม่ต้องการมันในภาพอื่น
Ken Williams
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.