Anonim

หากคุณต้องการแพลตฟอร์มคอนเทนเนอร์โอเพ่นซอร์สที่ครอบคลุมสำหรับการสร้างความเป็นอิสระระหว่างแอพและโครงสร้างพื้นฐาน Docker เป็นทางออกที่ปลอดภัยที่สุดของคุณ หากคุณมีโอกาสใช้งานคุณจะรู้ว่ามันมีความสามารถและใช้งานง่ายเพียงใด

บริษัท คลาวด์และไอทีจำนวนมากพบว่ามีประโยชน์มากและสมควรได้รับความนิยม

แต่ถึงกระนั้นก็ไม่ได้ทำให้มันสมบูรณ์แบบ การพิสูจน์สามารถดูได้ในข้อ จำกัด ที่มาพร้อมกับการลบภาพ, ปริมาณ, ภาชนะบรรจุและเครือข่าย แม้ว่าคำสั่งเหล่านี้จะพร้อมใช้งาน แต่ก็ไม่ครอบคลุมเท่าที่ผู้ใช้อาจต้องการ

ที่นี่คุณจะเห็นปัญหาหลักที่ผู้ใช้พบเช่นเดียวกับการแก้ปัญหาสำหรับพวกเขา คุณจะได้เรียนรู้วิธีการลบภาพและตู้คอนเทนเนอร์ในวิธีที่ง่าย

ปัญหา

เทคโนโลยีคอนเทนเนอร์เป็นวิธีการแสดงภาพระบบปฏิบัติการ อนุญาตให้แอปพลิเคชั่นบรรจุด้วยทั้งหมดที่ใช้ในการเรียกใช้ซึ่งอนุญาตให้แอปดำเนินการอย่างอิสระจากระบบปฏิบัติการ

รูปภาพคอนเทนเนอร์เป็นแพคเกจแอปที่ปฏิบัติการได้ซึ่งบรรจุทุกอย่างที่จำเป็นสำหรับแอปให้ทำงานได้อย่างถูกต้อง รันไทม์รหัสการกำหนดค่าและเครื่องมือระบบและไลบรารีมีอยู่ในแต่ละอิมเมจ

เมื่อคุณใช้ Docker ภาพเหล่านี้จะสะสม เมื่อเวลาผ่านไปจำนวนรูปภาพที่ไม่ได้ใช้ปริมาณข้อมูลและตู้คอนเทนเนอร์จำนวนมากจะถูกสะสมไว้เพื่อสร้างสภาพแวดล้อมของนักเทียบท่าที่แออัด เมื่อสิ่งนี้เกิดขึ้นจำเป็นต้องรีเฟรชสภาพแวดล้อมเพื่อให้แพลตฟอร์มทำงานได้ตามที่ควร

มีหลายคำสั่งที่สามารถทำให้สิ่งนี้เกิดขึ้นได้ดังนั้นลองมาดูวิธีหลัก ๆ ในการขจัดความยุ่งเหยิงของสภาพแวดล้อม Docker ของคุณ

การลบภาพนักเทียบท่า

ก่อนที่คุณจะสามารถลบภาพที่ไม่ต้องการคุณต้องแยกความแตกต่างจากรูปภาพที่มีประโยชน์ ซึ่งสามารถทำได้อย่างง่ายดายโดยการแสดงรายการรูปภาพทั้งหมดที่ระบบของคุณมีโดยใช้คำสั่งการจัดการรูปภาพ

นี่คือสิ่งที่ดูเหมือนว่า:

$ docker image #list the most recently created images

หรือ

$ docker image -a #list all images

ด้วยคำสั่งที่สองคุณจะเห็นภาพนักเทียบท่าทั้งหมดของคุณ สิ่งที่คุณต้องทำคือค้นหา 'ภาพห้อย' ที่เรียกว่า ภาพเหล่านี้เป็นภาพนักเทียบท่าทั้งหมดที่ไม่มีแท็ก หากไม่มีแท็กจะไม่มีการเชื่อมต่อกับรูปภาพที่ติดแท็กซึ่งหมายความว่าพวกเขาไม่มีประโยชน์อีกต่อไป

คุณสามารถลบภาพอย่างน้อยหนึ่งภาพโดยใช้รหัสภาพ เมื่อต้องการทำสิ่งนี้ใช้หนึ่งในคำสั่งเหล่านี้:

$ docker rmi d65c4d6a3580 #remove a single image

$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove multiple images

ทางออกที่สะดวกกว่าคือใช้แฟล็กตัวกรอง -f เพื่อแสดงรายการรูปภาพที่ห้อยอยู่ทั้งหมด

ในการลบอิมเมจเหล่านี้และล้างพื้นที่ดิสก์ให้ใช้หนึ่งในคำสั่งต่อไปนี้:

$ docker image prune #interactively remove dangling images

หรือ

$ docker rmi $(docker images -q -f dangling=true)

คุณสามารถลบภาพนักเทียบท่าทั้งหมดได้ในลักษณะเดียวกัน แสดงรายการโดยใช้คำสั่ง $ docker images –a แล้วลบออกโดยใช้ข้อมูลต่อไปนี้:

$ (docker rmi $(docker images -a -q)

อีกทางเลือกหนึ่งคือการลบภาพที่เป็นไปตามรูปแบบที่แน่นอน ในการแสดงรายการให้ใช้คำสั่งต่อไปนี้:

$ docker images -a | grep "pattern"

จากนั้นลบออกโดยใช้:

$ docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

การลบตู้คอนเทนเนอร์

อีกสิ่งหนึ่งที่คุณอาจต้องการทำหลังจากทำงานกับ Docker เป็นระยะเวลาหนึ่งคือลบหนึ่งหรือมากกว่าคอนเทนเนอร์

เช่นเดียวกับการลบภาพคุณต้องแสดงรายการโดยใช้คำสั่งต่อไปนี้:

$ docker ps

หรือ

$ docker ps -a

เมื่อคุณพบภาชนะที่คุณต้องการลบให้ใช้ ID ของพวกเขาที่จะทำมัน

$ docker rm 0fd99ee0cb61 #remove a single container

$ docker rm 0fd99ee0cb61 0fd99ee0cb61 #remove multiple containers

ในกรณีที่คอนเทนเนอร์ที่คุณพยายามลบกำลังทำงานอยู่คุณสามารถใช้คำสั่งต่อไปนี้เพื่อหยุด:

$ docker stop 0fd99ee0cb61

$ docker rm -f 0fd99ee0cb61

สุดท้ายคุณสามารถหยุดและลบคอนเทนเนอร์ที่ไม่จำเป็นทั้งหมดโดยใช้คำสั่งต่อไปนี้:

$ docker stop $(docker ps -a -q) #stop all containers

$ docker container prune #interactively remove all stopped containers

หรือ

$ docker rm $(docker ps -qa)

วิธีนี้จะช่วยให้คุณเพิ่มพื้นที่ว่างในดิสก์ที่มีค่าและเริ่มต้นใหม่

คำสุดท้าย

อย่างที่คุณเห็นการลบอิมเมจและคอนเทนเนอร์ออกไปนั้นไม่น่ากลัวเท่าที่ควร เมื่อคุณทราบคำสั่งเหล่านี้แล้วคุณสามารถควบคุมประสบการณ์นักเทียบท่าได้มากขึ้น

แน่นอนว่านี่เป็นเพียงคำสั่งบางคำสั่งและคุณสามารถใช้ชุดค่าผสมอื่น ๆ ได้หลากหลาย อย่างไรก็ตามสิ่งเหล่านี้จะทำงานได้ดีดังนั้นอย่าลังเลที่จะลองใช้

วิธีการลบภาพนักเทียบท่าทั้งหมด