אנדרואיד

כיצד להסיר מכולות עגינה, תמונות, אמצעי אחסון ורשתות

Docker Tutorial 6- Writing, Building And Running Docker Image| Machine Learning

Docker Tutorial 6- Writing, Building And Running Docker Image| Machine Learning

תוכן עניינים:

Anonim

Docker מאפשר לך לבנות, לבדוק ולפרוס אפליקציות במהירות כמכולות ניידות ומספקות עצמית שיכולות לפעול כמעט בכל מקום.

Docker לא מסיר אובייקטים שאינם בשימוש, כגון מכולות, תמונות, אמצעי אחסון ורשתות אלא אם כן אתה אומר לו במפורש לעשות זאת. כשאתה עובד עם Docker, אתה יכול בקלות לצבור מספר גדול של חפצים שאינם בשימוש הצורכים שטח דיסק משמעותי ומעמיס את הפלט שמופק על ידי פקודות Docker.

מדריך זה משמש "גיליון לרמות" כדי לסייע למשתמשי Docker לשמור על ארגון המערכת שלהם, וכדי לפנות שטח בדיסק על ידי הסרת מיכלי Docker, תמונות, אמצעי אחסון ורשתות שאינם בשימוש.

הסרת כל החפצים שאינם בשימוש

פקודת docker system prune תסיר את כל המכולות שהופסקו, את כל התמונות המשתלשלות ואת כל הרשתות שאינן בשימוש:

docker system prune

תתבקש להמשיך, השתמש --force -f או --force כדי לעקוף את הפקודה.

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue?

docker system prune --volumes

WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? y

הסרת מכולות העגינה

מכולות עגינה לא יוסרו אוטומטית כשאתה עוצר אותם אלא אם אתה --rm את המיכל באמצעות דגל --rm .

הסר מיכל אחד או יותר

להסרת תמונות Docker או יותר, השתמש בפקודת docker container rm של docker container rm ואחריו מזהה המכולות שברצונך להסיר.

אתה יכול לקבל רשימה של כל המכולות על ידי העברת דגל -ה לפקודה docker container ls :

docker container ls -a

הפלט צריך להיראות כך:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc3f2ff51cab centos "/bin/bash" 2 months ago Created competent_nightingale cd20b396a061 solita/ubuntu-systemd "/bin/bash -c 'exec …" 2 months ago Exited (137) 2 months ago systemd fb62432cf3c1 ubuntu "/bin/bash" 3 months ago Exited (130) 3 months ago jolly_mirzakhani

ברגע שאתה יודע את CONTAINER ID המכולה של המכולות שברצונך למחוק, העביר אותו לפקודת ה- docker container rm . לדוגמה, כדי להסיר את שני המכולות הראשונות הרשומות בפלט שלמעלה:

docker container rm cc3f2ff51cab cd20b396a061

Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0029df061cb74dc12cb174530b2036987575b83442b47. Stop the container before attempting removal or force remove.

הסר את כל המכולות שהופסקו

לפני ביצוע פקודת ההסרה, באפשרותך לקבל רשימה של כל המכולות שאינן פועלות (עצירות) שיסולקו באמצעות הפקודה הבאה:

docker container ls -a --filter status=exited --filter status=created

כדי להסיר את כל המכולות שהופסקו השתמש בפקודת docker container prune :

docker container prune

תתבקש להמשיך, השתמש --force -f או --force כדי לעקוף את הפקודה.

WARNING! This will remove all stopped containers. Are you sure you want to continue? y

הסר מכולות באמצעות פילטרים

פקודת docker container prune מאפשרת להסיר מכולות על פי תנאי באמצעות דגל הסינון - --filter .

בזמן כתיבת מאמר זה, המסננים הנתמכים כרגע הם until label . ניתן להשתמש ביותר ממסנן אחד על ידי שימוש בדגלי --filter מרובים.

לדוגמה, כדי להסיר את כל התמונות שנוצרו לפני יותר מ 12 שעות, הפעל:

docker container prune --filter "until=12h"

עצרו והסירו את כל המכולות

אתה יכול לקבל רשימה של כל מכולות Docker במערכת שלך באמצעות docker container ls -aq .

כדי להפסיק את כל המכולות הפועלות השתמש בפקודת docker container stop ואחריה רשימה של כל מזהי המכולות.

docker container stop $(docker container ls -aq)

לאחר עצירת כל המיכלים, אתה יכול להסיר אותם באמצעות הפקודה docker container rm ולאחריה רשימת מזהי המכולות.

docker container rm $(docker container ls -aq)

הסרת תמונות דוקר

הסר תמונה אחת או יותר

להסרת תמונות Docker או יותר השתמש בפקודה docker images ls כדי למצוא את מזהה התמונות שברצונך להסיר.

docker image ls

הפלט צריך להיראות כך:

REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 75835a67d134 7 days ago 200MB ubuntu latest 2a4cca5ac898 2 months ago 111MB linuxize/fedora latest a45d6dca3361 3 months ago 311MB java 8-jre e44d62cf8862 3 months ago 311MB

לאחר שאיתרת את התמונות שברצונך להסיר, העביר את IMAGE ID שלהן לפקודת docker image rm . לדוגמה, כדי להסיר את שתי התמונות הראשונות הרשומות בפלט שלמעלה:

docker image rm 75835a67d134 2a4cca5ac898

Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container cd20b396a061 is using its referenced image 75835a67d134

הסר תמונות משתלשלות

Docker מספקת פקודת docker image prune שניתן להשתמש בה להסרת תמונות משתלשלות ולא בשימוש.

תמונה משתלשלת היא תמונה שאינה מתויגת ואינה משמשת כל מיכל. להסרת סוג תמונות משתלשלות:

docker image prune

תתבקש להמשיך, השתמש --force -f או --force כדי לעקוף את הפקודה.

WARNING! This will remove all dangling images. Are you sure you want to continue? y בעת הסרת תמונות משתלשלות, אם התמונות שנבנות על ידך אינן מתויגות, הן יוסרו.

הסר את כל התמונות שאינן בשימוש

כדי להסיר את כל התמונות שאינן מכוונות לאף מיכל קיים, ולא רק לתמונות המשתלשלות, השתמש בפקודת prune עם דגל -ה:

docker image prune -a

WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? y

הסר תמונות באמצעות פילטרים

עם פקודת docker image prune , באפשרותך גם להסיר תמונות על סמך תנאי מסוים באמצעות דגל הסינון - --filter .

בזמן כתיבת מאמר זה, המסננים הנתמכים כרגע הם until label . ניתן להשתמש ביותר ממסנן אחד על ידי שימוש בדגלי --filter מרובים.

לדוגמה, כדי להסיר את כל התמונות שנוצרו לפני יותר מ 12 שעות, היית מפעיל:

docker image prune -a --filter "until=12h"

הסרת כרכים של דוקר

הסר נפח אחד או יותר

להסרת אמצעי אחסון Docker אחד או יותר השתמש בפקודה docker volume ls ה- docker volume ls כדי למצוא את מזהה הכרכים שאתה רוצה להסיר.

docker volume ls

הפלט צריך להיראות כך:

DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano

לאחר שמצאת את VOLUME NAME הנפח של אמצעי האחסון שברצונך להסיר, העביר אותם לפקודת docker volume rm . לדוגמה, כדי להסיר את אמצעי האחסון הראשון המופיע בפלט שלמעלה, הפעל:

docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163

Error response from daemon: remove 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163: volume is in use -

הסר את כל הכרכים שאינם בשימוש

להסרת כל הכרכים שאינם בשימוש השתמש בפקודה docker image prune :

docker volume prune

תתבקש להמשיך, השתמש --force -f או --force כדי לעקוף את הפקודה.

WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue?

הסרת רשתות Docker

הסר רשת אחת או יותר

כדי להסיר רשת אחת או יותר של Docker השתמש בפקודה docker network ls כדי למצוא את מזהה הרשתות שברצונך להסיר.

docker network ls

הפלט צריך להיראות כך:

NETWORK ID NAME DRIVER SCOPE 107b8ac977e3 bridge bridge local ab998267377d host host local c520032c3d31 my-bridge-network bridge local 9bc81b63f740 none null local

לאחר שאיתרת את הרשתות שברצונך להסיר, העביר את NETWORK ID שלהן לפקודת docker network rm . לדוגמה כדי להסיר את הרשת עם השם my-bridge-network run:

docker network rm c520032c3d31

Error response from daemon: network my-bridge-network id 6f5293268bb91ad2498b38b0bca970083af87237784017be24ea208d2233c5aa has active endpoints

הסר את כל הרשת שאינה בשימוש

השתמש בפקודת docker network prune כדי להסיר את כל הרשתות שאינן בשימוש.

docker network prune

תתבקש להמשיך, השתמש --force -f או --force כדי לעקוף את הפקודה.

WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue?

הסר רשתות באמצעות פילטרים

באמצעות פקודת docker network prune תוכלו להסיר רשתות על פי תנאי באמצעות דגל הסינון - --filter .

בזמן כתיבת מאמר זה, המסננים הנתמכים כרגע הם until label . ניתן להשתמש ביותר ממסנן אחד על ידי שימוש בדגלי --filter מרובים.

לדוגמה, כדי להסיר את כל הרשתות שנוצרו לפני יותר מ 12 שעות, הפעל:

docker network prune -a --filter "until=12h"

סיכום

במדריך זה הראנו לכם כמה מהפקודות הנפוצות להסרת מכלי Docker, תמונות, אמצעי אחסון ורשתות.

כדאי גם לבדוק את התיעוד הרשמי של Docker.

הדוקר