ΠΠ΄ΡΠ°Π²ΠΎ, Π₯Π°Π±Ρ! ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΠ°ΠΌ Π²Π°ΡΠΎΡ ΠΏΠ°ΠΆΡΠΈ ΠΏΡΠ΅Π²ΠΎΠ΄ ΡΠ»Π°Π½ΠΊΠ°
ΠΠ°Π½Π°Ρ ΡΠ΅ΠΌΠΎ ΠΏΡΠΈΡΠ°ΡΠΈ ΠΎ ΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΠΎΡΠΊΠ΅Ρ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΡ Ρ ΠΎΡΡ ΠΌΠ°ΡΠΈΠ½Π΅, Π° ΡΠ°ΠΊΠΎΡΠ΅ ΡΠ΅ΠΌΠΎ ΡΡ Π²Π°ΡΠΈΡΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ²Π°Ρ ΠΏΡΠΎΡΡΠΎΡ ΠΎΠ΄ ΠΎΡΡΠ°ΡΠ°ΠΊΠ° Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΈΠΊΠ° ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°.
Π£ΠΊΡΠΏΠ½Π° ΠΏΠΎΡΡΠΎΡΡΠ°
ΠΠΎΡΠΊΠ΅Ρ ΡΠ΅ ΠΊΡΠ» ΡΡΠ²Π°Ρ, Π²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎ ΠΊΠΎ Π΄Π°Π½Π°Ρ ΡΡΠΌΡΠ° Ρ ΡΠΎ. ΠΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΎΠ²Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Π½Π°ΠΌ ΡΠ΅ Π΄Π°ΠΎ ΠΏΠΎΡΠΏΡΠ½ΠΎ Π½ΠΎΠ² Π½Π°ΡΠΈΠ½ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ, ΠΈΡΠΏΠΎΡΡΠΊΡ ΠΈ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠ³ ΠΎΠΊΡΡΠΆΠ΅ΡΠ°, ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΡΡΠΈ Π½Π°ΠΌ Π΄Π° Π·Π½Π°ΡΠ°ΡΠ½ΠΎ ΡΡΡΠ΅Π΄ΠΈΠΌΠΎ Π¦ΠΠ£ ΠΈ Π ΠΠ ΡΠ΅ΡΡΡΡΠ΅. ΠΠΎΡΠ΅Π΄ ΠΎΠ²ΠΎΠ³Π° (Π° Π·Π° Π½Π΅ΠΊΠ΅ ΡΠ΅ ΡΠΎ Π±ΠΈΡΠΈ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΈΡΠ΅), ΠΠΎΡΠΊΠ΅Ρ Π½Π°ΠΌ ΡΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠΈΠΎ Π΄Π° Π½Π΅Π²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΎ ΠΏΠΎΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈΠΌΠΎ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠΌΠΎ ΡΠΏΡΠ°Π²ΡΠ°ΡΠ΅ ΠΆΠΈΠ²ΠΎΡΠ½ΠΈΠΌ ΡΠΈΠΊΠ»ΡΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΈΡ ΠΎΠΊΡΡΠΆΠ΅ΡΠ° ΠΊΠΎΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠΎ.
ΠΠ΅ΡΡΡΠΈΠΌ, ΡΠ²Π΅ ΠΎΠ²Π΅ ΡΠΆΠΈΡΠΊΠ΅ ΡΠ°Π²ΡΠ΅ΠΌΠ΅Π½ΠΎΠ³ ΠΆΠΈΠ²ΠΎΡΠ° ΠΈΠΌΠ°ΡΡ ΡΠ²ΠΎΡΡ ΡΠ΅Π½Ρ. ΠΠ°Π΄Π° ΠΏΠΎΠΊΡΠ΅ΡΠ΅ΠΌΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ°ΠΌΠΎ ΠΈΠ»ΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΠΌΠΎ ΡΠΎΠΏΡΡΠ²Π΅Π½Π΅ ΡΠ»ΠΈΠΊΠ΅ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ°ΠΌΠΎ ΡΠ»ΠΎΠΆΠ΅Π½Π΅ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΌΠΎΡΠ°ΠΌΠΎ Π΄Π° ΠΏΠ»Π°ΡΠΈΠΌΠΎ. Π ΠΏΠ»Π°ΡΠ°ΠΌΠΎ, ΠΈΠ·ΠΌΠ΅ΡΡ ΠΎΡΡΠ°Π»ΠΎΠ³, ΠΈ ΠΏΡΠΎΡΡΠΎΡΠΎΠΌ Π½Π° Π΄ΠΈΡΠΊΡ.
ΠΠΊΠΎ Π½ΠΈΠΊΠ°Π΄Π° Π½ΠΈΡΡΠ΅ ΡΠ°Π·ΠΌΠΈΡΡΠ°Π»ΠΈ ΠΎ ΡΠΎΠΌΠ΅ ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΠΎΡΠΊΠ΅Ρ Π·Π°ΠΏΡΠ°Π²ΠΎ Π·Π°ΡΠ·ΠΈΠΌΠ° Π½Π° Π²Π°ΡΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΌΠΎΠΆΠ΄Π° ΡΠ΅ΡΠ΅ Π±ΠΈΡΠΈ Π½Π΅ΠΏΡΠΈΡΠ°ΡΠ½ΠΎ ΠΈΠ·Π½Π΅Π½Π°ΡΠ΅Π½ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΠΌ ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:
$ docker system df
ΠΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΡΠ΅ ΡΠΏΠΎΡΡΠ΅Π±Ρ Π΄ΠΈΡΠΊΠ° ΠΠΎΡΠΊΠ΅Ρ-Π° Ρ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈΠΌΠ°:
- ΡΠ»ΠΈΠΊΠ΅ β ΡΠΊΡΠΏΠ½Π° Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠ»ΠΈΠΊΠ° ΠΊΠΎΡΠ΅ ΡΡ ΠΏΡΠ΅ΡΠ·Π΅ΡΠ΅ ΠΈΠ· ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° ΡΠ»ΠΈΠΊΠ° ΠΈ ΠΈΠ·Π³ΡΠ°ΡΠ΅Π½Π΅ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ;
- ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ β ΡΠΊΡΠΏΠ½Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊΡ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° (ΡΡΠΎ Π·Π½Π°ΡΠΈ ΡΠΊΡΠΏΠ°Π½ ΠΎΠ±ΠΈΠΌ ΡΠ»ΠΎΡΠ΅Π²Π° ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΠΈΡΠ°ΡΠ° ΡΠ²ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°);
- Π»ΠΎΠΊΠ°Π»Π½ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ β Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎΠ³ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ° ΠΌΠΎΠ½ΡΠΈΡΠ°Π½ΠΎΠ³ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅;
- Π±ΡΠΈΠ»Π΄ ΡΠ°ΡΡ Π΅ β ΠΏΡΠΈΠ²ΡΠ΅ΠΌΠ΅Π½Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ ΠΏΡΠΎΡΠ΅ΡΠΎΠΌ ΠΈΠ·Π³ΡΠ°Π΄ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅ (ΠΏΠΎΠΌΠΎΡΡ Π°Π»Π°ΡΠ° ΠΡΠΈΠ»Π΄ΠΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ ΠΏΠΎΡΠ΅Π²ΡΠΈ ΠΎΠ΄ ΠΠΎΡΠΊΠ΅Ρ Π²Π΅ΡΠ·ΠΈΡΠ΅ 18.09).
ΠΠ»Π°Π΄ΠΈΠΌ ΡΠ΅ Π΄Π° ΡΡΠ΅ Π½Π°ΠΊΠΎΠ½ ΠΎΠ²ΠΎΠ³ ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΠ³ ΠΏΡΠ΅Π½ΠΎΡΠ° ΠΆΠ΅ΡΠ½ΠΈ Π΄Π° ΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ²ΠΎΡ Π΄ΠΈΡΠΊ ΠΎΠ΄ ΡΠΌΠ΅ΡΠ° ΠΈ Π²ΡΠ°ΡΠΈΡΠ΅ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½Π΅ Π³ΠΈΠ³Π°Π±Π°ΡΡΠ΅ Ρ ΠΆΠΈΠ²ΠΎΡ (Π½Π°ΠΏΠΎΠΌΠ΅Π½Π°: ΠΏΠΎΡΠ΅Π±Π½ΠΎ Π°ΠΊΠΎ ΠΏΠ»Π°ΡΠ°ΡΠ΅ ΠΊΠΈΡΠΈΡΡ Π·Π° ΠΎΠ²Π΅ Π³ΠΈΠ³Π°Π±Π°ΡΡΠ΅ ΡΠ²Π°ΠΊΠΎΠ³ ΠΌΠ΅ΡΠ΅ΡΠ°).
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π΄ΠΈΡΠΊΠ° ΠΏΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈΠΌΠ°
Π‘Π²Π°ΠΊΠΈ ΠΏΡΡ ΠΊΠ°Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° Π³Π»Π°Π²Π½ΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ° ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΡ /Π²Π°Ρ/Π»ΠΈΠ±/Π΄ΠΎΡΠΊΠ΅Ρ, ΠΌΠ΅ΡΡ ΠΊΠΎΡΠΈΠΌΠ° ΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎ Π½Π°ΠΏΠΎΠΌΠ΅Π½ΡΡΠΈ ΡΠ»Π΅Π΄Π΅ΡΠ΅:
- ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ /Π²Π°Ρ/Π»ΠΈΠ±/Π΄ΠΎΡΠΊΠ΅Ρ/ΡΠΎΠ½ΡΠ°ΠΈΠ½Π΅ΡΡ/ΡΠΎΠ½ΡΠ°ΠΈΠ½Π΅Ρ_ΠΠ β ΠΊΠ°Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈ Π΄ΡΠ°ΡΠ²Π΅Ρ Π·Π° Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°ΡΠ΅, ΠΎΠ²Π΄Π΅ ΡΠ΅ ΡΡΠ²Π°ΡΡ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅ Π΄ΠΎΠ³Π°ΡΠ°ΡΠ° Ρ ΠΠ‘ΠΠ ΡΠΎΡΠΌΠ°ΡΡ. ΠΡΠ΅Π²ΠΈΡΠ΅ Π΄Π΅ΡΠ°ΡΠ½ΠΈ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΈ, ΠΊΠ°ΠΎ ΠΈ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅ Π½ΠΈΠΊΠΎ Π½Π΅ ΡΠΈΡΠ° ΠΈΠ»ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½ ΠΎΠ±ΡΠ°ΡΡΡΠ΅, ΡΠ΅ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ΄Π΅ Π΄ΠΎ ΠΏΡΡΠ΅ΡΠ° Π΄ΠΈΡΠΊΠΎΠ²Π°.
- ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ /Π²Π°Ρ/Π»ΠΈΠ±/Π΄ΠΎΡΠΊΠ΅Ρ/ΠΎΠ²Π΅ΡΠ»Π°ΠΈ2 ΡΠ°Π΄ΡΠΆΠΈ ΡΠ»ΠΎΡΠ΅Π²Π΅ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠΏΠΈΡΠΈΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° (ΠΎΠ²Π΅ΡΠ»Π°ΠΈ2 ΡΠ΅ ΠΏΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄ΡΠ°ΡΠ²Π΅Ρ Ρ Π²Π΅ΡΠΈΠ½ΠΈ ΠΠΈΠ½ΡΠΊ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ°). ΠΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠΈ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Ρ ΡΠ²ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, ΠΎΠ½Π΄Π° ΡΠ΅ ΠΎΠ½ Π±ΠΈΡΠΈ ΡΠΌΠ΅ΡΡΠ΅Π½ Ρ ΠΎΠ²Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π·Π°ΠΌΠΈΡΠ»ΠΈΠΌΠΎ ΡΠΈΡΡΠ΅ΠΌ Π½Π° ΠΊΠΎΠΌΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π½Π΅ΡΠ°ΠΊΠ½ΡΡΠΈ ΠΠΎΡΠΊΠ΅Ρ, ΠΊΠΎΡΠΈ Π½ΠΈΠΊΠ°Π΄Π° Π½ΠΈΡΠ΅ Π±ΠΈΠΎ ΡΠΊΡΡΡΠ΅Π½ Ρ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ°. ΠΠ΅Π³ΠΎΠ² ΠΈΠ·Π²Π΅ΡΡΠ°Ρ ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊΡ ΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π°ΡΠΈ ΠΎΠ²Π°ΠΊΠΎ:
$ 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
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½Π΅ΠΌΠΎ Π½Π΅ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠΠΠΠΠ‘:
$ docker container run --name www -d -p 8000:80 nginx:1.16
Π¨ΡΠ° ΡΠ΅ Π΄Π΅ΡΠ°Π²Π° ΡΠ° Π΄ΠΈΡΠΊΠΎΠΌ:
- ΡΠ»ΠΈΠΊΠ΅ Π·Π°ΡΠ·ΠΈΠΌΠ°ΡΡ 126 ΠΠ, ΠΎΠ²ΠΎ ΡΠ΅ ΠΈΡΡΠΈ ΠΠΠΠΠΠ‘ ΠΊΠΎΡΠΈ ΡΠΌΠΎ ΠΏΠΎΠΊΡΠ΅Π½ΡΠ»ΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΡ;
- ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ Π·Π°ΡΠ·ΠΈΠΌΠ°ΡΡ ΡΠΌΠ΅ΡΠ½Π° 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 Π±Π°ΡΡΠ° ΠΏΠΎΡΠΏΡΠ½ΠΎ Π½Π΅ΠΎΠ·Π±ΠΈΡΠ½Π°, Π·Π°ΠΌΠΈΡΠ»ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°Ρ ΠΠΠΠΠΠ‘ Π½Π΅ΠΎΡΠ΅ΠΊΠΈΠ²Π°Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΠΎ Π½Π΅Π³Π΄Π΅ 100 ΠΌΠ΅Π³Π°Π±Π°ΡΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ Π½Π°ΠΏΡΠ°Π²ΠΈΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ ΡΠ΅ΡΡ.ΠΈΠΌΠ³ ΡΠ°ΡΠ½ΠΎ ΠΎΠ²Π΅ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠ½ΡΡΠ°Ρ ΡΠ΅Π±Π΅.
$ 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
ΠΠΈΡΠ»ΠΈΠΌ Π΄Π° ΡΠ΅ Π²Π°Ρ ΡΠ°Π΄ΠΎΠ·Π½Π°Π»ΠΈ ΠΌΠΎΠ·Π°ΠΊ Π²Π΅Ρ ΠΏΠΈΡΠ° Π³Π΄Π΅ ΡΠ΅ Π½Π°Π»Π°Π·ΠΈ Π½Π°Ρ ΡΠ΅ΡΡ.ΠΈΠΌΠ³ ΡΠ°ΡΠ». Π₯Π°ΡΠ΄Π΅ Π΄Π° Π³Π° ΠΏΠΎΡΡΠ°ΠΆΠΈΠΌΠΎ:
$ 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
ΠΠ΅ ΡΠ»Π°Π·Π΅ΡΠΈ Ρ Π΄Π΅ΡΠ°ΡΠ΅, ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΈΡΠΈ Π΄Π° ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠ΅ΡΡ.ΠΈΠΌΠ³ Π½Π° Π·Π³ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΡ Π½Π° Π½ΠΈΠ²ΠΎΡ ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΠΈΡΠ°ΡΠ°, ΠΊΠΎΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ΅ ΠΎΠ²Π΅ΡΠ»Π°ΠΈ2 Π΄ΡΠ°ΡΠ²Π΅Ρ. ΠΠΊΠΎ Π·Π°ΡΡΡΠ°Π²ΠΈΠΌΠΎ Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΡΠ΅ Π½Π°ΠΌ ΡΠ΅ΡΠΈ Π΄Π° ΠΎΠ²Π°Ρ ΠΏΡΠΎΡΡΠΎΡ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈ:
# 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)
Π‘ΠΏΠΎΡΠ΅Π΄Π½Π΅ Π½Π°ΠΏΠΎΠΌΠ΅Π½Π΅: Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ -ΡΠΌ ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΎΠ½Π΄Π° ΠΊΠ°Π΄Π° ΡΠ΅ Π·Π°ΡΡΡΠ°Π²ΠΈ, ΡΠ°Π² ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΡ ΠΊΠΎΡΠΈ ΡΠ΅ Π·Π°ΡΠ·ΠΈΠΌΠ°ΠΎ Π±ΠΈΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΡΠ΅Π½.
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ° Π΄ΠΈΡΠΊΠ°
ΠΡΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½Π°, Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΡΠ»ΠΈΠΊΠ΅ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΡΠΎΡΠΈΠ½Π° ΠΌΠ΅Π³Π°Π±Π°ΡΡΠ° Π±ΠΈΠ»Π° ΡΠ΅ ΡΠ°ΡΠ²ΠΈΠΌ Π½ΠΎΡΠΌΠ°Π»Π½Π°: Π£Π±ΡΠ½ΡΡ ΡΠ»ΠΈΠΊΠ° ΡΠ΅ Π±ΠΈΠ»Π° ΡΠ΅ΡΠΊΠ° 600 ΠΌΠ΅Π³Π°Π±Π°ΡΡΠ°, Π° ΠΠΈΡΡΠΎΡΠΎΡΡ .ΠΠ΅Ρ ΡΠ»ΠΈΠΊΠ° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ Π³ΠΈΠ³Π°Π±Π°ΡΡΠ°. Π£ ΡΠΈΠΌ ΠΎΡΡΡΠ°Π½ΠΈΠΌ Π΄Π°Π½ΠΈΠΌΠ°, ΠΏΡΠ΅ΡΠ·ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄Π½Π΅ ΡΠ»ΠΈΠΊΠ΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΠΈ Π΄Π° ΡΠ·ΠΌΠ΅ Π²Π΅Π»ΠΈΠΊΠΈ Π΄Π°Π½Π°ΠΊ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ»ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΈΡΠΊΡ, ΡΠ°ΠΊ ΠΈ Π°ΠΊΠΎ Π΄Π΅Π»ΠΈΡΠ΅ Π½ΠΈΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡ ΡΠ»ΠΈΠΊΠ°. ΠΠ°Π½Π°Ρ β ΡΠ²Π°ΠΊΠ° ΡΠ°ΡΡ β ΡΠ»ΠΈΠΊΠ΅ ΡΠ΅ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅, Π°Π»ΠΈ ΡΠ°ΠΊ ΠΈ ΡΠ°ΠΊΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΠ·ΠΎ ΠΏΠΎΠΏΡΠ½ΠΈΡΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ²Π΅ ΡΠ΅ΡΡΡΡΠ΅ Π°ΠΊΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΡΠ·ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΊΠ΅ ΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΡΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΠΎΡΡΠΎΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΠΈΠΏΠΎΠ²Π° ΡΠ»ΠΈΠΊΠ° ΠΊΠΎΡΠ΅ Π½ΠΈΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π²ΠΈΠ΄ΡΠΈΠ²Π΅ ΠΊΡΠ°ΡΡΠ΅ΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΡ:
- ΡΡΠ΅Π΄ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅, Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΊΠΎΡΠΈΡ ΡΠ΅ ΠΏΡΠΈΠΊΡΠΏΡΠ°ΡΡ Π΄ΡΡΠ³Π΅ ΡΠ»ΠΈΠΊΠ΅ - ΠΎΠ½Π΅ ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΈΠ·Π±ΡΠΈΡΠ°ΡΠΈ Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ²ΠΈΡ βΠ΄ΡΡΠ³ΠΈΡ β ΡΠ»ΠΈΠΊΠ°;
- Π²ΠΈΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅ ΡΡ ΡΡΠ΅Π΄ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅ Π½Π° ΠΊΠΎΡΠ΅ ΡΠ΅ Π½Π΅ ΠΏΠΎΠ·ΠΈΠ²Π° Π½ΠΈΡΠ΅Π΄Π°Π½ ΠΎΠ΄ Π°ΠΊΡΠΈΠ²Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° - ΠΌΠΎΠ³Ρ ΡΠ΅ ΠΈΠ·Π±ΡΠΈΡΠ°ΡΠΈ.
- Π‘Π° ΡΠ»Π΅Π΄Π΅ΡΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π° Π»ΠΈ ΠΏΠΎΡΡΠΎΡΠ΅ Π²ΠΈΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ:
$ 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)
Π’Π°ΠΊΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΡΠ½Π΅:
$ 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)
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π΄ΠΈΡΠΊΠ° ΠΏΠΎ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π°ΠΌΠ°
ΠΠΎΠ»ΡΠΌΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠ·Π²Π°Π½ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΡΠ°ΡΡΠ²Π°ΠΌΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π΄Π° Π±ΠΈΡΠΌΠΎ ΠΈΡ ΠΊΠΎΡΠΈΡΡΠΈΠ»ΠΈ Π½Π° Π½Π΅ΠΊΠΈ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈΠ½. Π§Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½Π΅ΠΌΠΎ ΠΠΎΠ½Π³ΠΎΠΠ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΌΠΎΠ½ΡΠΈΡΠ°ΠΌΠΎ Π²ΠΎΠ»ΡΠΌΠ΅Π½ ΠΈΠ·Π²Π°Π½ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ Π²ΡΠ°ΡΠΈΠΌΠΎ ΡΠ΅Π·Π΅ΡΠ²Π½Ρ ΠΊΠΎΠΏΠΈΡΡ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠ· ΡΠ΅Π³Π° (ΠΈΠΌΠ°ΠΌΠΎ ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Ρ Π΄Π°ΡΠΎΡΠ΅ΡΠΈ Π±ΡΠΊ.ΡΡΠΎΠ½):
# 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
ΠΠΎΠ΄Π°ΡΠΈ ΡΠ΅ ΡΠ΅ Π½Π°Π»Π°Π·ΠΈΡΠΈ Π½Π° Π³Π»Π°Π²Π½ΠΎΡ ΠΌΠ°ΡΠΈΠ½ΠΈ Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΡ /Π²Π°Ρ/Π»ΠΈΠ±/Π΄ΠΎΡΠΊΠ΅Ρ/Π²ΠΎΠ»ΡΠΌΠ΅Ρ. ΠΠ»ΠΈ Π·Π°ΡΡΠΎ Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎΡ ΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΠΈΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°? ΠΠ°ΡΠΎ ΡΡΠΎ ΡΠ΅ Ρ ΠΠΎΡΠΊΠ΅ΡΡΠΈΠ»Π΅-Ρ ΡΠ»ΠΈΠΊΠ΅ ΠΠΎΠ½Π³ΠΎΠΠ, Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ /Π΄Π°ΡΠ°/Π΄Π± (Π³Π΄Π΅ ΠΠΎΠ½Π³ΠΎΠΠ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠΈ ΡΠ²ΠΎΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅) ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ ΠΊΠ°ΠΎ Π²ΠΎΠ»ΡΠΌΠ΅Π½.
ΠΠ°ΠΏΠΎΠΌΠ΅Π½Π°: ΠΌΠ½ΠΎΠ³Π΅ ΡΠ»ΠΈΠΊΠ΅ ΠΊΠΎΡΠ΅ ΠΌΠΎΡΠ°ΡΡ Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Ρ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Π·Π°ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΡΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°.
ΠΠ°Π΄Π° ΡΠ΅ Π΄ΠΎΠ²ΠΎΡΠ½ΠΎ ΠΈΠ³ΡΠ°ΠΌΠΎ ΡΠ° ΠΠΎΠ½Π³ΠΎΠΠ-ΠΎΠΌ ΠΈ Π·Π°ΡΡΡΠ°Π²ΠΈΠΌΠΎ (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΄Π° ΡΠ°ΠΊ ΠΈΠ·Π±ΡΠΈΡΠ΅ΠΌΠΎ) ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π²ΠΎΠ»ΡΠΌΠ΅Π½ Π½Π΅ΡΠ΅ Π±ΠΈΡΠΈ ΠΈΠ·Π±ΡΠΈΡΠ°Π½. ΠΠ°ΡΡΠ°Π²ΠΈΡΠ΅ Π΄Π° Π·Π°ΡΠ·ΠΈΠΌΠ° Π½Π°Ρ Π΄ΡΠ°Π³ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΡ ΡΠ²Π΅ Π΄ΠΎΠΊ Π³Π° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π½Π΅ ΠΈΠ·Π±ΡΠΈΡΠ΅ΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ ΠΏΠΎΠΏΡΡ ΠΎΠ²Π΅:
$ docker volume rm $(docker volume ls -q)
ΠΠ°, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΡΠ½Π΅ ΠΊΠΎΡΠ° Π½Π°ΠΌ ΡΠ΅ Π²Π΅Ρ ΠΏΠΎΠ·Π½Π°ΡΠ°:
$ 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:~$
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π΄ΠΈΡΠΊΠ° Π·Π° ΠΊΠ΅Ρ Π·Π° ΠΏΡΠ°Π²ΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ°
Π£ ΠΠΎΡΠΊΠ΅Ρ-Ρ 18.09, ΠΏΡΠΎΡΠ΅Ρ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ° ΡΠ»ΠΈΠΊΠ΅ ΡΠ΅ ΠΏΡΠ΅ΡΡΠΏΠ΅ΠΎ Π½Π΅ΠΊΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ Π·Π°Ρ Π²Π°ΡΡΡΡΡΠΈ Π°Π»Π°ΡΡ ΠΡΠΈΠ»Π΄ΠΠΈΡ. ΠΠ²Π° ΡΡΠ²Π°Ρ ΠΏΠΎΠ²Π΅ΡΠ°Π²Π° Π±ΡΠ·ΠΈΠ½Ρ ΠΏΡΠΎΡΠ΅ΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΡΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ ΡΠΏΡΠ°Π²ΡΠ°ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΡ. ΠΠ²Π΄Π΅ Π½Π΅ΡΠ΅ΠΌΠΎ ΡΠ°Π·ΠΌΠ°ΡΡΠ°ΡΠΈ ΡΠ²Π΅ Π΄Π΅ΡΠ°ΡΠ΅ ΠΎΠ²ΠΎΠ³ Π΄ΠΈΠ²Π½ΠΎΠ³ Π°Π»Π°ΡΠ°; ΡΠΎΠΊΡΡΠΈΡΠ°ΡΠ΅ΠΌΠΎ ΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠΎ ΠΊΠ°ΠΊΠΎ ΡΠ΅ Π±Π°Π²ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΠΌΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊΡ.
Π Π΅ΡΠΈΠΌΠΎ Π΄Π° ΠΈΠΌΠ°ΠΌΠΎ ΠΏΠΎΡΠΏΡΠ½ΠΎ ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½Ρ ΠΠΎΠ΄Π΅.ΠΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ:
- Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΈΠ½Π΄Π΅ΠΊ.ΡΡ ΠΏΠΎΠΊΡΠ΅ΡΠ΅ ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π°Π½ Π₯Π’Π’Π ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠΎΡΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡΠΎΠΌ Π½Π° ΡΠ²Π°ΠΊΠΈ ΠΏΡΠΈΠΌΡΠ΅Π½ΠΈ Π·Π°Ρ ΡΠ΅Π²:
- Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΠ°ΡΠΊΠ°Π³Π΅.ΡΡΠΎΠ½ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ, ΠΎΠ΄ ΠΊΠΎΡΠΈΡ ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅ΠΊΠΏΡΠ΅ΡΡΡΡ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΏΠΎΠΊΡΠ΅ΡΠ°ΡΠ΅ Π₯Π’Π’Π ΡΠ΅ΡΠ²Π΅ΡΠ°:
$ 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"
}
}
ΠΠΎΡΠΊΠ΅ΡΡΠΈΠ»Π΅ Π·Π° ΠΏΡΠ°Π²ΡΠ΅ΡΠ΅ ΡΠ»ΠΈΠΊΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ:
FROM node:13-alpine
COPY package.json /app/package.json
RUN cd /app && npm install
COPY . /app/
WORKDIR /app
EXPOSE 80
CMD ["npm", "start"]
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ ΡΠ»ΠΈΠΊΡ Π½Π° ΡΠΎΠ±ΠΈΡΠ°ΡΠ΅Π½ Π½Π°ΡΠΈΠ½, Π±Π΅Π· ΡΠΏΠΎΡΡΠ΅Π±Π΅ ΠΡΠΈΠ»Π΄ΠΠΈΡ-Π°:
$ 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
Π₯Π°ΡΠ΄Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠΎ Π΄ΡΡΠ³Ρ Π²Π΅ΡΠ·ΠΈΡΡ Π½Π°ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΠΡΠΈΠ»Π΄ΠΠΈΡ. ΠΠ° Π±ΠΈΡΠΌΠΎ ΡΠΎ ΡΡΠ°Π΄ΠΈΠ»ΠΈ, ΡΠ°ΠΌΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΏΠΎΠ΄Π΅ΡΠΈΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΈΠ²Ρ ΠΠΠ¦ΠΠΠ _ΠΠ£ΠΠΠΠΠΠ’ Π½Π° 1:
$ DOCKER_BUILDKIT=1 docker build -t app:2.0 .
ΠΠΊΠΎ ΡΠ°Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π΄ΠΈΡΠΊΠ°, Π²ΠΈΠ΄Π΅ΡΠ΅ΠΌΠΎ Π΄Π° ΡΠ΅ ΠΊΠ΅Ρ Π·Π° ΠΈΠ·Π³ΡΠ°Π΄ΡΡ (Π±ΡΠΈΠ΄-ΡΠ°ΡΡ Π΅) ΡΠ°Π΄Π° ΡΠΊΡΡΡΠ΅Π½ ΡΠ°ΠΌΠΎ:
$ 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
ΠΠ·Π±ΡΠΈΡΠΈ ΡΠ²Π΅!
ΠΠ°ΠΊΠ»Π΅, ΠΏΠΎΠ³Π»Π΅Π΄Π°Π»ΠΈ ΡΠΌΠΎ ΡΠΈΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΡΠ° Π½Π° Π΄ΠΈΡΠΊΡ ΠΊΠΎΡΠΈ Π·Π°ΡΠ·ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΈ, ΡΠ»ΠΈΠΊΠ΅ ΠΈ Π²ΠΎΠ»ΡΠΌΠ΅Π½ΠΈ. Π£ ΡΠΎΠΌΠ΅ Π½Π°ΠΌ ΠΏΠΎΠΌΠ°ΠΆΠ΅ ΠΏΠΎΡΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΡΠ½Π΅. ΠΠ»ΠΈ ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΈ Π½Π° Π½ΠΈΠ²ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΡΠΊΠ΅Ρ ΠΈ ΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ²Π΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅:
$ 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]
ΠΠΊΠΎ ΠΈΠ· Π½Π΅ΠΊΠΎΠ³ ΡΠ°Π·Π»ΠΎΠ³Π° ΡΡΠ΅Π΄ΠΈΡΠ΅ ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΡ Π½Π° ΠΌΠ°ΡΠΈΠ½ΠΈ Π½Π° ΠΊΠΎΡΠΎΡ ΡΠ°Π΄ΠΈ ΠΠΎΡΠΊΠ΅Ρ, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ΅ ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΡΠ΅Π±Π°Π»ΠΎ Π±ΠΈ Π΄Π° ΠΏΠΎΡΡΠ°Π½Π΅ Π½Π°Π²ΠΈΠΊΠ°.
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ