แฐแแ แฐแแแ ! แแฅแแแแก แงแฃแ แแแฆแแแแก แฌแแ แแแแแแแแแ แกแขแแขแแแก แแแ แแแแแก
แแฆแแก แฉแแแ แแแกแแฃแแ แแแ แแแแแ, แแฃ แ แแแแ แแงแแแแแก Docker แแแกแแแแซแแแ แแแแ แแขแแก แแแกแแแก แแแแแแก แแ แแกแแแ แแแแแ แแแแแ, แแฃ แ แแแแ แแแแแแแแแกแฃแคแแแ แแก แกแแแ แชแ แแแแแฃแงแแแแแแแ แกแฃแ แแแแแแกแ แแ แแแแขแแแแแ แแแแก แแแ แฉแแแแแแกแแแ.
แแแแแแแ แแแฎแแแ แแแ
แแแแแ แ แแแแแ แ แ แแแแ, แแฆแแก แแแแแ แชแแขแแก แแแแ แแแ แแญแแ. แกแฃแ แ แแแแแแแแ แฌแแแก แฌแแ, แแ แแ แแแฃแฅแขแแ แแแแแชแ แกแ แฃแแแแ แแฎแแแ แแแ แแแแแกแแแแ แ แแแ แแแแก แจแแกแแฅแแแแแแ, แแแฌแแแแแแกแ แแ แแแจแแแแแกแแแแก, แ แแช แกแแจแฃแแแแแแก แแแแซแแแแก แแแแจแแแแแแแแแ แแแแแแแแ CPU แแ RAM แ แแกแฃแ แกแแแ. แแแแก แแแ แแ (แแ แแแแแแ แแแกแแแแก แแก แงแแแแแแ แแแแจแแแแแแแแแ แแฅแแแแ) Docker-แแ แแแแแชแ แกแแจแฃแแแแแ แฌแแ แแแฃแแแแแแแ แแแแแแแ แขแแแแ แแ แแแแแแ แแแแแแ แฉแแแแ แฌแแ แแแแแแก แแแ แแแแก แกแแกแแชแแชแฎแแ แชแแแแแก แแแ แแแ.
แแฃแแชแ, แแแแแแแแ แแแ แชแฎแแแ แแแแก แงแแแแ แแ แกแแแแแแแแแแก แคแแกแ แแฅแแก. แ แแแแกแแช แฉแแแ แแแขแแ แแแ แแแแขแแแแแ แแแก, แแขแแแ แแแแ แแ แแฅแแแแ แกแแแฃแแแ แกแฃแ แแแแแก แแ แแแงแแแแแ แ แแฃแ แแแแกแแกแขแแแแแก, แฉแแแ แฃแแแ แแแแแแแฎแแแแ. แฉแแแ แแแฎแแแ, แกแฎแแ แกแแแแแฎแแแแแ แแ แแแ, แแแกแแแ.
แแฃ แแ แแกแแแแก แแแคแแฅแ แแแ แแแแแ, แแฃ แ แแแแแ แแแแแแก แแแแแแแก Docker แแฅแแแแก แแแแ แแขแแ, แจแแแซแแแแ แฃแกแแแแแแแแ แแแแแแแแ แแแ แแ แแ แซแแแแแแก แแแแแแแแแแแ:
$ docker system df
แแก แแฉแแแแแแก Docker-แแก แแแกแแแก แแแแแงแแแแแแก แกแฎแแแแแกแฎแแ แแแแขแแฅแกแขแจแ:
- แกแฃแ แแแแแ โ แกแฃแ แแแแแแก แแแแแแแ แแแแ, แ แแแแแแแช แแแแแแฌแแ แแแ แแงแ แกแฃแ แแแแแแก แกแแชแแแแแแแแ แแ แแแแแฃแแแ แแฅแแแแก แกแแกแขแแแแแ;
- แแแแขแแแแแ แแแ - แแแกแแแก แกแแแ แชแแก แแแแแแแ แ แแแแแแแแ, แ แแแแแกแแช แแงแแแแแแ แแแจแแแแฃแแ แแแแขแแแแแ แแแ (แแแฃแแแกแฎแแแแ แงแแแแ แแแแขแแแแแ แแก แฌแแแแแฎแแ-แฉแแฌแแ แแก แคแแแแแแก แแแแแแแ แแแชแฃแแแแ);
- แแแแแแแแ แแแ แแแชแฃแแแแแแ โ แแแแขแแแแแ แแแแ แแแแแแขแแแแแฃแแ แแแแแแแแ แแแ แจแแแแฎแแแก แแแชแฃแแแแ;
- build cache โ แแ แแแแแแ แคแแแแแแ, แ แแแแแแแช แฌแแ แแแแฅแแแแแ แแแแแกแแฎแฃแแแแแก แจแแฅแแแแก แแ แแชแแกแจแ (BuildKit แแแกแขแ แฃแแแแขแแก แแแแแงแแแแแแ, แฎแแแแแกแแฌแแแแแแ Docker 18.09 แแแ แกแแแแแ แแแฌแงแแแฃแแ).
แคแกแแแก แแแแแแ, แ แแ แแ แแแ แขแแแ แแแแแชแแแแก แจแแแแแ แแฅแแแ แแแฌแแแแแแแฃแแ แฎแแ แ แแแแกแฃแคแแแแแ แแฅแแแแ แแแกแแ แแแแแแกแแแ แแ แซแแแ แคแแกแ แแแแแแแแขแแแ แแแแชแแชแฎแแแ (แจแแแแจแแแ: แแแแกแแแฃแแ แแแแ แแฃ แแ แแแแแแแแขแแแแก แฅแแ แแก แแฎแแแ แงแแแแแแแแฃแ แแ).
แแแกแแแก แแแแแงแแแแแ แแแแขแแแแแ แแแแ
แงแแแแ แฏแแ แแ, แ แแแแกแแช แแฅแแแ แฅแแแแ แแแแขแแแแแ แก แแแกแแแแซแแ แแแแฅแแแแแ, แ แแแแแแแแ แคแแแแ แแ แแแ แแฅแขแแ แแ แแฅแแแแแ /var/lib/docker แแแ แแฅแขแแ แแแจแ, แ แแแแแแ แจแแ แแก แแฆแกแแแแจแแแแแ แจแแแแแแ:
- แแแ แแฅแขแแ แแ /var/lib/docker/containers/container_ID โ แกแขแแแแแ แขแฃแแ แแฃแ แแแแแก แแ แแแแแ แแก แแแแแงแแแแแแกแแก, แกแฌแแ แแ แแฅ แแแแฎแแแ แแแแแแแแก แแฃแ แแแแแแ JSON แคแแ แแแขแจแ. แซแแแแแ แแแขแแแฃแ แ แแฃแ แแแแแแ, แแกแแแ แ แแแแ แช แแฃแ แแแแแแ, แ แแแแแแกแแช แแ แแแแ แแแแฎแฃแแแแก แแ แกแฎแแแแแแ แแ แแแฃแจแแแแแก, แฎแจแแ แแ แแฌแแแแก แแแกแแแแแก แกแแแกแแก.
- /var/lib/docker/overlay2 แแแ แแฅแขแแ แแ แจแแแชแแแก แแแแขแแแแแ แแก แฌแแแแแฎแแแก-แฉแแฌแแ แแก แคแแแแแก (overlay2 แแ แแก แกแแกแฃแ แแแแ แแ แแแแแ แ Linux-แแก แฃแแแขแแก แแแกแขแ แแแฃแชแแแจแ). แแฃ แแแแขแแแแแ แ แแแแฎแแแก แแแแแชแแแแแก แแแแแก แคแแแแฃแ แกแแกแขแแแแจแ, แแแจแแ แแก แแแแแแแกแแแแ แแ แแแ แแฅแขแแ แแแจแ.
แฌแแ แแแแแแแแแแ แกแแกแขแแแ, แ แแแแแแแแแช แแแงแแแแแฃแแแ แฎแแแฃแฎแแแแแแ Docker, แ แแแแแแช แแ แแกแแแแก แงแแคแแแ แฉแแ แแฃแแ แแแแขแแแแแ แแแแก แแแจแแแแแจแ แแ แกแฃแ แแแแแแก แแแแแแจแ. แแแกแ แแแกแแแก แกแแแ แชแแก แแแแแงแแแแแแก แแแแแ แแจแ แแกแ แแแแแแงแฃแ แแแ:
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 0 0 0B 0B
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
แแแแแ แแแแฃแจแแแ แ แแแแแแแแ แแแแขแแแแแ แ, แแแแแแแแแ, NGINX:
$ docker container run --name www -d -p 8000:80 nginx:1.16
แ แ แฎแแแแ แแแกแแแ:
- แกแฃแ แแแแแ แแแแแแแก 126 แแ-แก, แแก แแ แแก แแแแแ NGINX, แ แแแแแแช แฉแแแ แแแแขแแแแแ แจแ แแแแฃแจแแแ;
- แแแแขแแแแแ แแแ แแแแแแแก แกแแกแแชแแแ 2 แแแแขแก.
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 1 1 126M 0B (0%)
Containers 1 1 2B 0B (0%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
แแแกแแแแแก แแแฎแแแแแ แแฃ แแแแกแฏแแแแแ, แฏแแ แแ แแแแฅแแก แแแแแแ, แ แแแแแก แแแแแแแกแฃแคแแแแแช แจแแแแแซแแ. แแแแแแแแ 2 แแแแขแ แกแ แฃแแแแ แฃแแแ แแ, แฌแแ แแแแแแแแแแ, แ แแ แฉแแแแแ NGINX-แแ แแแฃแแแแแแแแ แแแฌแแ แ แกแแแฆแแช 100 แแแแแแแแขแ แแแแแชแแแ แแ แจแแฅแแแ แแฃแกแขแแ แแ แแแแแก แคแแแแ test.img แจแแแแแ.
$ docker exec -ti www
dd if=/dev/zero of=test.img bs=1024 count=0 seek=$[1024*100]
แแแแแ แแแแแ แแ แแฎแแ แจแแแแแแฌแแแ แแแกแแแก แกแแแ แชแแก แแแแแงแแแแแ แฐแแกแขแแ. แฉแแแ แแแแแแแฎแแแ, แ แแ แแแแขแแแแแ แ (แแแแขแแแแแ แแแ) แแแแแแแก แแฅ 100 แแแแแแแแขแก.
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 1 1 126M 0B (0%)
Containers 1 1 104.9MB 0B (0%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
แแคแแฅแ แแ, แแฅแแแแ แชแแแแแกแแแงแแแ แ แขแแแแ แฃแแแ แแแแขแแ แแกแแแก แกแแ แแแแแแ แแแแก แฉแแแแ test.img แคแแแแ. แแแแ แแแซแแแ:
$ find /var/lib/docker -type f -name test.img
/var/lib/docker/overlay2/83f177...630078/merged/test.img
/var/lib/docker/overlay2/83f177...630078/diff/test.img
แแแขแแแแแแก แจแแกแฌแแแแแก แแแ แแจแ, แจแแแแแซแแแ แแฆแแแแจแแแ, แ แแ test.img แคแแแแ แแแฎแแ แฎแแแฃแแแ แแแแแแ แแแแก แฌแแแแแฎแแแก-แฉแแฌแแ แแก แแแแแแ, แ แแแแแกแแช แแแแแขแ แแแแแก overlay2 แแ แแแแแ แ. แแฃ แฉแแแ แแแแแฉแแ แแแ แฉแแแแก แแแแขแแแแแ แก, แแแกแแแแซแแแ แแแแขแงแแแก, แ แแ แแก แกแแแ แชแ, แแ แแแชแแแจแ, แจแแแซแแแแ แแแแแแแแกแฃแคแแแแก:
# Stopping the www container
$ docker stop www
# Visualizing the impact on the disk usage
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 1 1 126M 0B (0%)
Containers 1 0 104.9MB 104.9MB (100%)
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
แ แแแแ แจแแแแแซแแแ แแแแก แแแแแแแแ? แแแแขแแแแแ แแก แฌแแจแแแ, แ แแช แแแแแแฌแแแแก แจแแกแแแแแแกแ แกแแแ แชแแก แแแกแฃแคแแแแแแแก แฌแแแแแฎแแ-แฉแแฌแแ แแก แแแแแแ.
แจแแแแแแ แแ แซแแแแแแ, แจแแแแซแแแแ แแแแแฆแแ แงแแแแ แแแแแกแขแแแแ แแแฃแแ แแแแขแแแแแ แ แแ แแ แแแ แขแงแแแ แแ แแแแกแฃแคแแแแแ แแฅแแแแ แแแกแแ แแแ แแแแ แจแแฅแแแแแ แฌแแแแแฎแแแก-แฉแแฌแแ แแก แงแแแแ แคแแแแแกแแแ:
$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
5e7f8e5097ace9ef5518ebf0c6fc2062ff024efb495f11ccc89df21ec9b4dcc2
Total reclaimed space: 104.9MB
แแกแ แ แแ, แฉแแแ แแแแแแแแแกแฃแคแแแ 104,9 แแแแแแแแขแ แแแแขแแแแแ แแก แฌแแจแแแ. แแแแ แแ แ แแแแแ แฉแแแ แแฆแแ แแแงแแแแแ แแแ แ แแแแแแฌแแ แแ แกแฃแ แแแก, แแก แแกแแแ แฎแแแแ แฉแแแแ แ แแกแฃแ แกแแแแก แฌแแจแแแกแ แแ แแแแแแแกแฃแคแแแแแก แแแแแแแแขแ:
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 1 0 126M 126M (100%)
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
แจแแแแจแแแ: แกแแแแ แกแฃแ แแแ แแแแแแงแแแแแ แแแแแแฃแ แแ แแ แแแแขแแแแแ แแก แแแแ , แแฅแแแ แแแ แจแแซแแแแ แแ แฎแ แแแแก แแแแแงแแแแแแก.
แฅแแแแแแก แฅแแแแ แซแแแแแ, แ แแแแแแช แฉแแแ แแแแแ แแแแแแแงแแแแ, แแแฅแแแแแแก แแฎแแแแ แแแฉแแ แแแฃแ แแแแขแแแแแ แแแแ. แแฃ แแแแแแ แฌแแแจแแแแ แแ แ แแฎแแแแ แแแฉแแ แแแฃแแ, แแ แแแแ แแแจแแแแฃแแ แแแแขแแแแแ แแแ, แฃแแแ แแแแแแแงแแแแ แแ แ-แแ แแ แจแแแแแแ แแ แซแแแแแ:
# Historical command
$ docker rm -f $(docker ps โaq)
# More recent command
$ docker container rm -f $(docker container ls -aq)
แแแแ แแแแ แจแแแแจแแแแแ: แแฃ แแแแขแแแแแ แแก แแแจแแแแแกแแก แแงแแแแแ -rm แแแ แแแแขแ แก, แแแจแแ แ แแชแ แแก แจแแฉแแ แแแแ, แแแกแแแ แแแแแแแแฃแแ แแแแแ แแแแแแ แแแแแกแฃแคแแแแแ.
แแแกแแแก แกแฃแ แแแแแแก แแแแแงแแแแแ
แ แแแแแแแแ แฌแแแก แฌแแ แกแฃแ แแแแก แแแแ แ แแแแแแแแ แแกแแฃแแ แแแแแแแแขแ แกแ แฃแแแแ แแแ แแแแฃแ แ แแงแ: Ubuntu-แก แกแฃแ แแแ แแฌแแแแแ 600 แแแแแแแแขแก, แฎแแแ Microsoft .Net-แแก แแแแแกแแฎแฃแแแแ แ แแแแแแแแ แแแแแแแแขแก แแฌแแแแแ. แแ แจแแแแแ แแฆแแแแจแ, แแฎแแแแ แแ แแ แกแฃแ แแแแก แฉแแแแขแแแ แแแแ แจแแแซแแแแ แแแแ แแแแแ แแแแงแแแแก แแฅแแแแก แแแกแแแ แแแแแกแฃแคแแ แแแแแแก, แแแจแแแแช แแ, แแฃ แแแแแแแก แแแแแ แแแ แกแฃแ แแแแแก แจแแ แแก. แแฆแแก - แแแแแแ แแแแแแก - แกแฃแ แแแแแ แแแชแแแแแแ แแแแแแแก แแฌแแแแก, แแแแ แแ แแกแแช แ แแ แแงแแก, แจแแแแซแแแแ แกแฌแ แแคแแ แจแแแแกแแ แฎแแแแแกแแฌแแแแแ แ แแกแฃแ แกแแแ, แแฃ แแ แแแแฆแแแ แกแแคแ แแฎแแแแก แแแแแแก.
แแ แกแแแแแก แ แแแแแแแแ แกแแฎแแก แกแฃแ แแแ, แ แแแแแแแช แฃแจแฃแแแแ แแ แฉแแแก แกแแแแแแ แแแแฎแแแ แแแแแกแแแแก:
- แจแฃแแแแแฃแ แ แกแฃแ แแแแแ, แ แแแแแแ แกแแคแฃแซแแแแแแช แแ แแแแแแ แกแฎแแ แกแฃแ แแแแแ - แแแแ แฌแแจแแ แจแแฃแซแแแแแแแ, แแฃ แแงแแแแแ แแแแขแแแแแ แแแก แแ "แกแฎแแ" แกแฃแ แแแแแแก แกแแคแฃแซแแแแแ;
- แฉแแแแแแแแแฃแแ แกแฃแ แแแแแ แแ แแก แจแฃแแแแแฃแ แ แแแแแกแแฎแฃแแแแแแ, แ แแแแแแแช แแ แแ แแก แแแแแแแแฃแแ แ แแแแแแแ แแแจแแแแฃแแ แแแแขแแแแแ แแ - แแแแ แฌแแจแแ แจแแกแแซแแแแแแแ.
- แจแแแแแแ แแ แซแแแแแแ แจแแแแซแแแแ แจแแแแแฌแแแ แฉแแแแแแแแแฃแแ แกแฃแ แแแแแ แแฅแแแแก แกแแกแขแแแแแ:
$ docker image ls -f dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
none none 21e658fe5351 12 minutes ago 71.3MB
แแฅแแแ แจแแแแซแแแแ แฌแแจแแแแ แแกแแแ แจแแแแแแ แแแแ:
$ docker image rm $(docker image ls -f dangling=true -q)
แฉแแแ แแกแแแ แจแแแแแซแแแ แแแแแแแงแแแแ prune แฅแแแแ แซแแแแแ:
$ docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:143407a3cb7efa6e95761b8cd6cea25e3f41455be6d5e7cda
deleted: sha256:738010bda9dd34896bac9bbc77b2d60addd7738ad1a95e5cc
deleted: sha256:fa4f0194a1eb829523ecf3bad04b4a7bdce089c8361e2c347
deleted: sha256:c5041938bcb46f78bf2f2a7f0a0df0eea74c4555097cc9197
deleted: sha256:5945bb6e12888cf320828e0fd00728947104da82e3eb4452f
Total reclaimed space: 12.9kB
แแฃ แฉแแแ แแแฃแแแแแแแแ แแแแแแ แฌแแแจแแแแ แงแแแแ แกแฃแ แแแ แแแแแแแแ (แแ แแ แ แแฎแแแแ แฉแแแแแแแแแฃแแ) แแ แแ แแ แซแแแแแแ, แแแจแแ แจแแแแแซแแแ แแแแแแแแแ แแก:
$ docker image rm $(docker image ls -q)
แแแกแแแก แแแแแงแแแแแ แแแชแฃแแแแแก แแแฎแแแแแ
แขแแแ แแแแแแงแแแแแ แแแแแชแแแแ แจแแกแแแแฎแแ แแแแขแแแแแ แแก แคแแแแฃแ แ แกแแกแขแแแแก แแแ แแ. แแแแแแแแแ, แแฃ แแแกแฃแ แก แแแแแแแชแแแก แจแแแแแแแแก แจแแแแฎแแ แกแฎแแ แแแแ แแแแแกแแงแแแแแแแ. แกแแแ แแ แแแแแแแแแ แแแแแชแแแแ แแแแแแ.
แแแแแ แแแแฃแจแแแ MongoDB แแแแขแแแแแ แ, แแแแแแแแ แแ แแแชแฃแแแแ แแแแขแแแแแ แแก แแแ แแแแ แแ แแฆแแแแแแแแ แแแแแชแแแแ แแแแแก แกแแ แแแแ แแ แแกแแ แแแกแแแ (แฉแแแ แแก แฎแแแแแกแแฌแแแแแ แแแแฅแแก bck.json แคแแแแจแ):
# Running a mongo container
$ docker run --name db -v $PWD:/tmp -p 27017:27017 -d mongo:4.0
# Importing an existing backup (from a huge bck.json file)
$ docker exec -ti db mongoimport
--db 'test'
--collection 'demo'
--file /tmp/bck.json
--jsonArray
แแแแแชแแแแแ แแแแแแแกแแแแ แแแกแแแแซแแ แแแแฅแแแแแ /var/lib/docker/volumes แแแ แแฅแขแแ แแแจแ. แแแแ แแ แ แแขแแ แแ แ แแแแขแแแแแ แแก แฌแแแแแฎแแ-แฉแแฌแแ แแก แแแแแแ? แแแแก แแแแ, แ แแ MongoDB แกแฃแ แแแแก Dockerfile-แจแ, /data/db แแแ แแฅแขแแ แแ (แกแแแแช MongoDB แแแแฎแแแก แแแแแก แแแแแชแแแแแก แแแแฃแแแกแฎแแแแแ) แแแแแกแแแฆแแ แแแ, แ แแแแ แช แแแชแฃแแแแ.
แแแแ แแแแ แจแแแแจแแแ: แแแแ แ แกแฃแ แแแ, แ แแแแแแช แฃแแแ แแฌแแ แแแแก แแแแแชแแแแแ, แแงแแแแแก แขแแแแแก แแ แแแแแชแแแแแแก แจแแกแแแแฎแแ.
แ แแแแกแแช แกแแแแแ แแกแแ แแแแแแแจแแแ MongoDB-แแ แแ แแแแแฉแแ แแแ (แแ แจแแกแแซแแแ แฌแแแจแแแแ) แแแแขแแแแแ แ, แแแชแฃแแแแ แแ แฌแแแจแแแแ. แแก แแแแแ แซแแแแแก แฉแแแแก แซแแแ แคแแก แแแแแแก แแแกแแแ แแแแแ, แกแแแแ แชแแแกแแฎแแ แแ แฌแแแจแแแ แแแก แแกแแแ แแ แซแแแแแแ:
$ docker volume rm $(docker volume ls -q)
แแแ แแแ, แแ แจแแแแแซแแแ แแแแแแแงแแแแ แฉแแแแแแแก แฃแแแ แแแชแแแแ prune แฅแแแแ แซแแแแแ:
$ docker volume prune
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
d50b6402eb75d09ec17a5f57df4ed7b520c448429f70725fc5707334e5ded4d5
8f7a16e1cf117cdfddb6a38d1f4f02b18d21a485b49037e2670753fa34d115fc
599c3dd48d529b2e105eec38537cd16dac1ae6f899a123e2a62ffac6168b2f5f
...
732e610e435c24f6acae827cd340a60ce4132387cfc512452994bc0728dd66df
9a3f39cc8bd0f9ce54dea3421193f752bda4b8846841b6d36f8ee24358a85bae
045a9b534259ec6c0318cb162b7b4fca75b553d4e86fc93faafd0e7c77c79799
c6283fe9f8d2ca105d30ecaad31868410e809aba0909b3e60d68a26e92a094da
Total reclaimed space: 25.82GB
luc@saturn:~$
แแแกแแแก แแแแแงแแแแแ แแแแแกแแฎแฃแแแแแก แฅแแจแแกแแแแก
Docker 18.09-แจแ, แกแฃแ แแแแก แจแแฅแแแแก แแ แแชแแกแแ แแแแแชแแแ แแแ แแแแฃแแ แชแแแแแแแแแ BuildKit แแแกแขแ แฃแแแแขแแก แฌแงแแแแแแ. แแก แแ แแแก แแ แแชแแกแแก แกแแฉแฅแแ แแก แแ แแแขแแแแแแแก แแแแแชแแแแ แจแแแแฎแแแกแ แแ แฃแกแแคแ แแฎแแแแแก แแแแแฏแแแแขแก. แแฅ แฉแแแ แแ แแแแแแฎแแแแแ แแ แจแแกแแแแจแแแแ แฎแแแกแแฌแงแแก แงแแแแ แแแขแแแก; แฉแแแ แแฎแแแแ แงแฃแ แแแฆแแแแก แแแแแแแฎแแแแแแ แแแแแ, แแฃ แ แแแแ แแแแแ แแแก แแก แแแกแแแก แกแแแ แชแแก แแแแแงแแแแแแก แกแแแแแฎแแแก.
แแแฅแแแ, แแแแฅแแก แกแ แฃแแแแ แแแ แขแแแ Node.Js แแแแแแแชแแ:
- index.js แคแแแแ แแฌแงแแแก แแแ แขแแ HTTP แกแแ แแแ แก, แ แแแแแแช แแแกแฃแฎแแแก แกแขแ แแฅแแแแ แแแแแแฃแ แแแฆแแแฃแ แแแแฎแแแแแก:
- package.json แคแแแแ แแแแกแแแฆแแ แแแก แแแแแแแแแแฃแแแแแแก, แ แแแแแแแแแ แแฎแแแแ expressjs แแแแแแงแแแแแ HTTP แกแแ แแแ แแก แแแกแแจแแแแแ:
$ cat index.js
var express = require('express');
var util = require('util');
var app = express();
app.get('/', function(req, res) {
res.setHeader('Content-Type', 'text/plain');
res.end(util.format("%s - %s", new Date(), 'Got Request'));
});
app.listen(process.env.PORT || 80);
$ cat package.json
{
"name": "testnode",
"version": "0.0.1",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.14.0"
}
}
แกแฃแ แแแแก แจแแกแแฅแแแแแแ Dockerfile แแกแ แแแแแแงแฃแ แแแ:
FROM node:13-alpine
COPY package.json /app/package.json
RUN cd /app && npm install
COPY . /app/
WORKDIR /app
EXPOSE 80
CMD ["npm", "start"]
แแแแแ แแแแจแแแแ แกแฃแ แแแ แฉแแแฃแแแแ แแแ แแแแ, BuildKit-แแก แแแแแงแแแแแแก แแแ แแจแ:
$ docker build -t app:1.0 .
แแฃ แจแแแแแแฌแแแแ แแแกแแแก แกแแแ แชแแก แแแแแงแแแแแแก, แแแแแแแฎแแแ, แ แแ แแฎแแแแ แกแแแแแแกแ แกแฃแ แแแ (แแแแแซแ:13-แแแแฃแ แ) แแ แแแแแจแแฃแแแแแก แกแฃแ แแแ (แแแ:1.0) แแแแแแแก แแแแแแก:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 2 0 109.3MB 109.3MB (100%)
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 0 0 0B 0B
แแแแแ แแแแจแแแแ แฉแแแแ แแแแแแแชแแแก แแแแ แ แแแ แกแแ BuildKit-แแก แแแแแงแแแแแแ. แแแแกแแแแแก แฉแแแ แฃแแ แแแแ แฃแแแ แแแแแงแแแแ DOCKER_BUILDKIT แชแแแแแ 1-แแ:
$ DOCKER_BUILDKIT=1 docker build -t app:2.0 .
แแฃ แแฎแแ แจแแแแแแฌแแแแ แแแกแแแก แแแแแงแแแแแแก, แแแแแแแฎแแแ, แ แแ build-cache (buid-cache) แแฎแแ แฉแแ แแฃแแแ แแฅ:
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 2 0 109.3MB 109.3MB (100%)
Containers 0 0 0B 0B
Local Volumes 0 0 0B 0B
Build Cache 11 0 8.949kB 8.949kB
แแแก แแแกแแกแฃแคแแแแแแแแ แแแแแแงแแแแ แจแแแแแแ แแ แซแแแแแ:
$ docker builder prune
WARNING! This will remove all dangling build cache.
Are you sure you want to continue? [y/N] y
Deleted build cache objects:
rffq7b06h9t09xe584rn4f91e
ztexgsz949ci8mx8p5tzgdzhe
3z9jeoqbbmj3eftltawvkiayi
Total reclaimed space: 8.949kB
แฒงแแแแแคแ แแก แแแกแฃแคแแแแแแ!
แแกแ แ แแ, แฉแแแ แแแแแแฎแแแแ แแแกแแแก แกแแแ แชแแก แแแฌแแแแแแก, แ แแแแแแช แแแแแแแแฃแแแ แแแแขแแแแแ แแแแ, แกแฃแ แแแแแแ แแ แขแแแแแแ. แแแแจแ แแแแฎแแแ แแแ prune แฅแแแแ แซแแแแแ. แแแแ แแ แแก แแกแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแแ แแก แกแแกแขแแแแก แแแแแแ แแ แแแแกแฃแคแแแแแแก แงแแแแแคแแ แก, แ แแช แจแแฃแซแแแ:
$ docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N]
แแฃ แ แแแแ แแแแแแแ แแแแแแ แแแแแแก แแแกแแแ Docker-แแ แแแจแแแแฃแ แแแฌแงแแแแแแแแแ, แแแจแแ แแ แแ แซแแแแแแก แแแ แแแแฃแแแ แแแจแแแแ แฉแแแแแ แฃแแแ แแฅแชแแก.
แฌแงแแ แ: www.habr.com