Android

Paano alisin ang mga lalagyan ng docker, mga imahe, volume, at network

Dockerfile Tutorial - Docker in Practice || Docker Tutorial 10

Dockerfile Tutorial - Docker in Practice || Docker Tutorial 10

Talaan ng mga Nilalaman:

Anonim

Pinapayagan ka ng Docker na mabilis na magtayo, sumubok, at mag-deploy ng mga application bilang portable, may sapat na sariling lalagyan na maaaring tumakbo kahit saan.

Hindi tinanggal ng Docker ang mga hindi nagamit na mga bagay tulad ng mga lalagyan, larawan, volume, at mga network maliban kung malinaw mong sabihin ito na gawin ito. Habang nakikipagtulungan ka sa Docker, madali mong maipon ang isang malaking bilang ng mga hindi nagamit na mga bagay na kumonsumo ng makabuluhang puwang sa disk at kalat ang output na ginawa ng mga utos ng Docker.

Ang gabay na ito ay nagsisilbing isang "cheat sheet" upang matulungan ang mga gumagamit ng Docker na mapanatili ang kanilang sistema, at upang malaya ang puwang ng disk sa pamamagitan ng pagtanggal ng mga hindi nagamit na mga lalagyan ng Docker, mga imahe, volume, at mga network.

Pag-alis ng Lahat ng Hindi Ginamit na Bagay

Ang utos ng docker system prune ay aalisin ang lahat ng mga tumigil na mga lalagyan, lahat ng mga nakalulutang na imahe, at lahat ng hindi nagamit na mga network:

docker system prune

--force na magpatuloy, gamitin ang -f o --force flag upang --force -bypass ang prompt.

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

Pag-alis ng Mga lalagyan ng Docker

Ang mga lalagyan ng --rm ay hindi awtomatikong tinanggal kapag --rm mo ang mga ito maliban kung sinimulan mo ang lalagyan gamit ang watawat --rm .

Alisin ang isa o higit pang mga lalagyan

Upang alisin ang isa o higit pang mga imahe ng Docker gamitin ang utos ng docker container rm sinusundan ng ID ng mga lalagyan na nais mong alisin.

Maaari kang makakuha ng isang listahan ng lahat ng mga lalagyan sa pamamagitan ng pagpasa ng isang -a flag sa docker container ls utos:

docker container ls -a

Ang output ay dapat magmukhang ganito:

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

Kapag alam mo ang CONTAINER ID ng mga lalagyan na nais mong tanggalin, ipasa ito sa utos ng docker container rm . Halimbawa, upang alisin ang unang dalawang lalagyan na nakalista sa output sa itaas tumakbo:

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.

Alisin ang lahat ng mga tumigil na lalagyan

Bago isagawa ang utos ng pag-alis, makakakuha ka ng isang listahan ng lahat ng mga lalagyan na hindi tumatakbo (tumigil) na aalisin gamit ang sumusunod na utos:

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

Upang alisin ang lahat ng mga hinto na lalagyan gamitin ang docker container prune utos:

docker container prune

--force na magpatuloy, gamitin ang -f o --force flag upang --force -bypass ang prompt.

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

Alisin ang mga lalagyan gamit ang mga filter

Pinapayagan ka ng utos ng docker container prune na alisin ang mga lalagyan batay sa kondisyon gamit ang flag filter --filter .

Sa oras ng pagsulat ng artikulong ito, ang kasalukuyang sinusuportahan na mga filter ay until at label . Maaari kang gumamit ng higit sa isang filter sa pamamagitan ng paggamit ng maramihang --filter bandila na higit pa.

Halimbawa, upang alisin ang lahat ng mga imahe na nilikha higit sa 12 oras na ang nakakaraan, patakbuhin:

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

Huminto at alisin ang lahat ng mga lalagyan

Maaari kang makakuha ng isang listahan ng lahat ng mga lalagyan ng Docker sa iyong system gamit ang docker container ls -aq utos.

Upang matigil ang lahat ng mga tumatakbo na lalagyan gamitin ang docker container stop command na sinusundan ng isang listahan ng lahat ng mga lalagyan ng ID.

docker container stop $(docker container ls -aq)

Kapag tumigil ang lahat ng mga lalagyan, maaari mong alisin ang mga ito gamit ang docker container rm utos na sinusundan ng listahan ng mga lalagyan ng ID.

docker container rm $(docker container ls -aq)

Pag-alis ng Mga Larawan ng Docker

Alisin ang isa o higit pang mga imahe

Upang alisin ang isa o higit pang mga imahe ng Docker gamitin ang utos ng docker images ls utos upang mahanap ang ID ng mga imahe na nais mong alisin.

docker image ls

Ang output ay dapat magmukhang ganito:

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

Kapag natagpuan mo ang mga imahe na nais mong alisin, ipasa ang kanilang IMAGE ID sa docker image rm utos. Halimbawa, upang alisin ang unang dalawang larawan na nakalista sa output sa itaas tumakbo:

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

Alisin ang nakalawit na mga imahe

Nagbibigay ang Docker ng isang utos ng docker image prune prock na maaaring magamit upang maalis ang mga nakalawit at hindi nagamit na mga imahe.

Ang isang nakalawit na imahe ay isang imahe na hindi naka-tag at hindi ginagamit ng anumang lalagyan. Upang matanggal ang mga nakalawit na uri ng imahe:

docker image prune

--force na magpatuloy, gamitin ang -f o --force flag upang --force -bypass ang prompt.

WARNING! This will remove all dangling images. Are you sure you want to continue? y Kapag tinatanggal ang nakalulutang mga imahe, kung ang mga imahe na binuo mo ay hindi naka-tag, aalisin din ito.

Alisin ang lahat ng hindi nagamit na mga imahe

Upang alisin ang lahat ng mga imahe na hindi tinukoy ng anumang umiiral na lalagyan, hindi lamang ang nakalawit, gamitin ang utos ng prune ang isang -a flag:

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

Alisin ang mga larawan gamit ang mga filter

Sa utos ng docker image prune , maaari mo ring alisin ang mga imahe batay sa isang tiyak na kondisyon gamit ang flag filter --filter .

Sa oras ng pagsulat ng artikulong ito, ang kasalukuyang sinusuportahan na mga filter ay until at label . Maaari kang gumamit ng higit sa isang filter sa pamamagitan ng paggamit ng maramihang --filter bandila na higit pa.

Halimbawa, upang alisin ang lahat ng mga imahe na nilikha higit sa 12 oras na ang nakakaraan, tatakbo ka:

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

Pag-alis ng Mga Docker Dami

Alisin ang isa o higit pang mga volume

Upang alisin ang isa o higit pang mga volume ng Docker gamitin ang utos ng docker volume ls upang mahanap ang ID ng mga volume na nais mong alisin.

docker volume ls

Ang output ay dapat magmukhang ganito:

DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano

Kapag nahanap mo na ang VOLUME NAME ng mga volume na nais mong alisin, ipasa ang mga ito sa utos ng docker volume rm . Halimbawa, upang alisin ang unang dami na nakalista sa output sa itaas, patakbuhin:

docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163

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

Alisin ang lahat ng hindi nagamit na volume

Upang alisin ang lahat ng mga hindi nagamit na volume gamitin ang utos ng docker image prune :

docker volume prune

--force na magpatuloy, gamitin ang -f o --force flag upang --force -bypass ang prompt.

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

Pag-aalis ng Docker Networks

Alisin ang isa o higit pang mga network

Upang alisin ang isa o higit pang mga network ng Docker gamitin ang utos ng docker network ls upang mahanap ang ID ng mga network na nais mong alisin.

docker network ls

Ang output ay dapat magmukhang ganito:

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

Kapag nahanap mo na ang mga network na nais mong alisin, ipasa ang kanilang NETWORK ID sa docker network rm utos. Halimbawa, alisin ang network na may pangalang my-bridge-network run:

docker network rm c520032c3d31

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

Alisin ang lahat ng hindi nagamit na network

Gamitin ang utos ng docker network prune upang alisin ang lahat ng hindi nagamit na mga network.

docker network prune

--force na magpatuloy, gamitin ang -f o --force flag upang --force -bypass ang prompt.

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

Alisin ang mga network gamit ang mga filter

Sa utos ng docker network prune maaari mong alisin ang mga network batay sa kondisyon gamit ang flag filter --filter .

Sa oras ng pagsulat ng artikulong ito, ang kasalukuyang sinusuportahan na mga filter ay until at label . Maaari kang gumamit ng higit sa isang filter sa pamamagitan ng paggamit ng maramihang --filter bandila na higit pa.

Halimbawa, upang alisin ang lahat ng mga network na nilikha higit sa 12 oras na ang nakakaraan, tumakbo:

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

Konklusyon

Sa gabay na ito, ipinakita namin sa iyo ang ilan sa mga karaniwang utos para sa pag-alis ng mga lalagyan ng Docker, mga imahe, volume, at mga network.

Dapat mo ring suriin ang opisyal na dokumentasyon ng Docker.

docker