{"id":297930,"date":"2020-01-30T09:00:17","date_gmt":"2020-01-30T09:00:17","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=297930"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=297930","title":{"rendered":"Docker Tips: \u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0435 \u0441\u0432\u043e\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u043e\u0442 \u0445\u043b\u0430\u043c\u0430"},"content":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/486200\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yj\/sm\/cu\/yjsmcuobxq-gpywchjtapz4n3cq.jpeg\"\/>  <\/p>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/medium.com\/better-programming\/docker-tips-clean-up-your-local-machine-35f370a01a78\">&quot;Docker Tips: Clean Up Your Local Machine&quot;<\/a> \u0430\u0432\u0442\u043e\u0440\u0430 <a href=\"https:\/\/medium.com\/@lucjuggery\">Luc Juggery<\/a>.<\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a Docker \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u043e\u0448\u043c\u0435\u0442\u043a\u043e\u0432 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n<p><a name=\"habracut\"><\/a><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/e5\/um\/m0\/e5umm0ysiuwfrkwqddjhxlfitis.png\"\/>  <\/p>\n<h3>\u041e\u0431\u0449\u0435\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435<\/h3>\n<p>  <\/p>\n<p>Docker \u2013 \u043a\u0440\u0443\u0442\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u0441\u043e\u043c\u043d\u0435\u0432\u0430\u0435\u0442\u0441\u044f. \u0412\u0441\u0435\u0433\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430\u043c \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f, \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043b\u044e\u0431\u043e\u0433\u043e \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u0412 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u044d\u0442\u043e\u043c\u0443 (\u0430 \u0434\u043b\u044f \u043a\u043e\u0433\u043e-\u0442\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u0430\u0436\u0435 \u0441\u0430\u043c\u044b\u043c \u0432\u0430\u0436\u043d\u044b\u043c) Docker \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u043d\u0430\u043c \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0438 \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u043c \u0446\u0438\u043a\u043b\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0441\u0440\u0435\u0434.<\/p>\n<p>  <\/p>\n<p>\u041e\u0434\u043d\u0430\u043a\u043e, \u0437\u0430 \u0432\u0441\u0435 \u044d\u0442\u0438 \u043f\u0440\u0435\u043b\u0435\u0441\u0442\u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0438\u0442\u044c. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b, \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0438\u0442\u044c. \u0418 \u043f\u043b\u0430\u0442\u0438\u043c \u043c\u044b, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435, \u0434\u0438\u0441\u043a\u043e\u0432\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438\u0441\u044c \u043e \u0442\u043e\u043c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0436\u0435 \u043c\u0435\u0441\u0442\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043d\u044f\u0442\u043e \u043d\u0430 \u0432\u0430\u0448\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 Docker\u2019\u043e\u043c, \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0431\u044b\u0442\u044c \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u043e \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u044b \u0432\u044b\u0432\u043e\u0434\u043e\u043c \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker system df<\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/e5\/um\/m0\/e5umm0ysiuwfrkwqddjhxlfitis.png\"\/>  <\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 Docker\u2019\u043e\u043c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u0445:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u043e\u0431\u0440\u0430\u0437\u044b (images) \u2013 \u043e\u0431\u0449\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0440\u0430\u0437\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u043a\u0430\u0447\u0430\u043d\u044b \u0438\u0437 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435;<\/li>\n<li>\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b (containers) \u2013 \u043e\u0431\u0449\u0438\u0439 \u043e\u0431\u044a\u0435\u043c \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438 (\u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0432\u0432\u0438\u0434\u0443 \u043e\u0431\u0449\u0438\u0439 \u043e\u0431\u044a\u0435\u043c \u0441\u043b\u043e\u0435\u0432 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u0441\u0435\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432);<\/li>\n<li>\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u043e\u043c\u0430 (local volumes) \u2013 \u043e\u0431\u044a\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449, \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c;<\/li>\n<li>\u043a\u044d\u0448 \u0441\u0431\u043e\u0440\u043a\u0438 (build cache) \u2013 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u043e\u0432 (\u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 BuildKit, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Docker \u0432\u0435\u0440\u0441\u0438\u0438 18.09).<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0413\u043e\u0442\u043e\u0432 \u043f\u043e\u0441\u043f\u043e\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432\u044b \u0433\u043e\u0440\u0438\u0442\u0435 \u0436\u0435\u043b\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0434\u0438\u0441\u043a \u043e\u0442 \u043c\u0443\u0441\u043e\u0440\u0430 \u0438 \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043a \u0436\u0438\u0437\u043d\u0438 \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u044b\u0435 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u044b (\u043f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0437\u0430 \u044d\u0442\u0438 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u044b \u0432\u044b \u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0435 \u0430\u0440\u0435\u043d\u0434\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443).<\/p>\n<p>  <\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438<\/h3>\n<p>  <\/p>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u043d\u0430 \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \/var\/lib\/docker \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \/var\/lib\/docker\/containers\/ID_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u2013 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043b\u043e\u0433\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u044e\u0434\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0436\u0443\u0440\u043d\u0430\u043b\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 JSON-\u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0421\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0435 \u043b\u043e\u0433\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043b\u043e\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u0435\u0442 \u0438 \u043d\u0435 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438, \u0447\u0430\u0441\u0442\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432.<\/li>\n<li>\u041a\u0430\u0442\u0430\u043b\u043e\u0433 \/var\/lib\/docker\/overlay2 \u2013 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043b\u043e\u0438 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 (overlay2 \u2013 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043e\u0432 Linux). \u0415\u0441\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0432\u043e\u0435\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043e\u043d\u0438 \u0438 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0441\u0435\u0431\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0434\u0435\u0432\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u0439 Docker, \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u0432 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432. \u0415\u0433\u043e \u043e\u0442\u0447\u0435\u0442 \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, NGINX:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker container run --name www -d -p 8000:80 nginx:1.16<\/code><\/pre>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u0434\u0438\u0441\u043a\u043e\u043c:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u043e\u0431\u0440\u0430\u0437\u044b (images) \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 126 \u041c\u0431, \u044d\u0442\u043e \u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 NGINX, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435;<\/li>\n<li>\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b (containers) \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0441\u043c\u0435\u0448\u043d\u044b\u0435 2 \u0431\u0430\u0439\u0442\u0430.<\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u0443\u0434\u044f \u043f\u043e \u0432\u044b\u0432\u043e\u0434\u0443, \u0443 \u043d\u0430\u0441 \u0435\u0449\u0435 \u043d\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c. \u0422\u0430\u043a \u043a\u0430\u043a 2 \u0431\u0430\u0439\u0442\u0430 \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u0441\u0435\u0440\u044c\u0435\u0437\u043d\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0448 NGINX \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043a\u0443\u0434\u0430-\u0442\u043e 100 \u041c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u043e\u0437\u0434\u0430\u043b \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f \u0444\u0430\u0439\u043b test.img \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker exec -ti www \\   dd if=\/dev\/zero of=test.img bs=1024 count=0 seek=$[1024*100]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u043d\u043e\u0432\u0430 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435. \u041c\u044b \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 (containers) \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u0430\u043c 100 \u041c\u0435\u0433\u0430\u0431\u0430\u0439\u0442.<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u0443\u043c\u0430\u044e, \u0432\u0430\u0448 \u043f\u044b\u0442\u043b\u0438\u0432\u044b\u0439 \u043c\u043e\u0437\u0433 \u0443\u0436\u0435 \u0437\u0430\u0434\u0430\u0435\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, \u0433\u0434\u0435 \u0436\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u0448 \u0444\u0430\u0439\u043b test.img. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0435\u0433\u043e \u043f\u043e\u0438\u0449\u0435\u043c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0435 \u0432\u0434\u0430\u0432\u0430\u044f\u0441\u044c \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0444\u0430\u0439\u043b test.img \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0438\u043b\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c overlay2. \u0415\u0441\u043b\u0438 \u0436\u0435 \u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0430\u0448 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0442\u043e \u0445\u043e\u0441\u0442 \u043f\u043e\u0434\u0441\u043a\u0430\u0436\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\"># 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u041a\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c? \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0432\u043b\u0435\u0447\u0435\u0442 \u0437\u0430 \u0441\u043e\u0431\u043e\u0439 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438.<\/p>\n<p>  <\/p>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043e\u0434\u043d\u0438\u043c \u043c\u0430\u0445\u043e\u043c \u0438 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0430\u0448 \u0434\u0438\u0441\u043a \u043e\u0442 \u0432\u0441\u0435\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043c\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u043b\u0438 104,9 \u041c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u041d\u043e \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u044b \u0443\u0436\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u043d\u0435\u0435 \u043e\u0431\u0440\u0430\u0437, \u0442\u043e \u043e\u043d \u0442\u043e\u0436\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0438\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043e\u0431\u0440\u0430\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0438\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u043c, \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u0440\u044e\u043a.<\/p><\/blockquote>\n<p>\u0421\u0443\u0431\u043a\u043e\u043c\u0430\u043d\u0434\u0430 prune, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0432\u044b\u0448\u0435, \u0434\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445. \u0415\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435, \u043d\u043e \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\"># Historical command $ docker rm -f $(docker ps \u2013aq  # More recent command $ docker container rm -f $(docker container ls -aq)<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p>\u0417\u0430\u043c\u0435\u0442\u043a\u0438 \u043d\u0430 \u043f\u043e\u043b\u044f\u0445: \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 &#8212;rm, \u0442\u043e \u043f\u0440\u0438 \u0435\u0433\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u043e \u0432\u0441\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u043d \u0437\u0430\u043d\u0438\u043c\u0430\u043b.<\/p><\/blockquote>\n<p>  <\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 \u043e\u0431\u0440\u0430\u0437\u0430\u043c\u0438<\/h3>\n<p>  <\/p>\n<p>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0440\u0430\u0437\u043c\u0435\u0440 \u043e\u0431\u0440\u0430\u0437\u0430 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0442\u0435\u043d \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u0431\u044b\u043b \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u043c: \u043e\u0431\u0440\u0430\u0437 Ubuntu \u0432\u0435\u0441\u0438\u043b 600 \u041c\u0435\u0433\u0430\u0431\u0430\u0439\u0442, \u0430 \u043e\u0431\u0440\u0430\u0437 Microsoft .Net \u2013 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0413\u0438\u0433\u0430\u0431\u0430\u0439\u0442. \u0412 \u0442\u0435 \u043b\u043e\u0445\u043c\u0430\u0442\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0440\u0430\u0437\u0430 \u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043d\u0435\u0441\u0442\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0443\u0440\u043e\u043d \u0432\u0430\u0448\u0435\u043c\u0443 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c\u0443 \u043c\u0435\u0441\u0442\u0443 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0432\u0430\u043b\u0438 \u0443\u0440\u043e\u0432\u043d\u0438 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u0440\u0430\u0437\u0430\u043c\u0438. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u2013 \u0445\u0432\u0430\u043b\u0430 \u0432\u0435\u043b\u0438\u043a\u0438\u043c \u2013 \u043e\u0431\u0440\u0430\u0437\u044b \u0432\u0435\u0441\u044f\u0442 \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u0434\u0430\u0436\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0437\u0430\u0431\u0438\u0442\u044c \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u0435\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u043e\u0432 \u043e\u0431\u0440\u0430\u0437\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0435 \u0432\u0438\u0434\u043d\u044b \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e:<\/p>\n<p>  <\/p>\n<ul>\n<li>intermediate \u043e\u0431\u0440\u0430\u0437\u044b, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u0432 \u2013 \u043e\u043d\u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u044b, \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u00ab\u0434\u0440\u0443\u0433\u0438\u0445\u00bb \u043e\u0431\u0440\u0430\u0437\u043e\u0432;<\/li>\n<li>dangling \u043e\u0431\u0440\u0430\u0437\u044b \u2013 \u044d\u0442\u043e \u0442\u0430\u043a\u0438\u0435 intermediate \u043e\u0431\u0440\u0430\u0437\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0441\u0441\u044b\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u2013 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u044b.<\/li>\n<li>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 dangling \u043e\u0431\u0440\u0430\u0437\u043e\u0432:<\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker image ls -f dangling=true REPOSITORY  TAG      IMAGE ID         CREATED             SIZE none      none   21e658fe5351     12 minutes ago      71.3MB<\/code><\/pre>\n<p>  <\/p>\n<p>\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker image rm $(docker image ls -f dangling=true -q)<\/code><\/pre>\n<p>  <\/p>\n<p>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0441\u0443\u0431\u043a\u043e\u043c\u0430\u043d\u0434\u0443 prune:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0432\u0434\u0440\u0443\u0433 \u0437\u0430\u0445\u043e\u0442\u0438\u043c \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435 \u043e\u0431\u0440\u0430\u0437\u044b (\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e dangling) \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker image rm $(docker image ls -q)<\/code><\/pre>\n<p>  <\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 \u0442\u043e\u043c\u0430\u043c\u0438<\/h3>\n<p>  <\/p>\n<p>\u0422\u043e\u043c\u0430 (volumes) \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u0430\u043a-\u0442\u043e \u0435\u0449\u0435. \u0427\u0430\u0441\u0442\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  <\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438v \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 MongoDB, \u043f\u0440\u0438\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u043a \u043d\u0435\u043c\u0443 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043f\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044e \u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u0442\u043e\u043c, \u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0438\u0437 \u043d\u0435\u0433\u043e \u0431\u044d\u043a\u0430\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0443 \u043d\u0430\u0441 \u043e\u043d \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0444\u0430\u0439\u043b\u0435 bck.json):<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\"># 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \/var\/lib\/docker\/volumes. \u041d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0447\u0442\u0435\u043d\u0438\u044f-\u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432 Dockerfile \u043e\u0431\u0440\u0430\u0437\u0430 MongoDB \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \/data\/db (\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c MongoDB \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0445\u0440\u0430\u043d\u0438\u0442 \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435) \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d \u043a\u0430\u043a \u0442\u043e\u043c (volume).<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/st\/dy\/t2\/stdyt2fkphns_svsfoekjglamzc.png\"\/>  <\/p>\n<blockquote><p>\u0417\u0430\u043c\u0435\u0442\u043a\u0438 \u043d\u0430 \u043f\u043e\u043b\u044f\u0445: \u043c\u043d\u043e\u0433\u0438\u0435 \u043e\u0431\u0440\u0430\u0437, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0442\u043e\u043c\u0430 (volumes) \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p><\/blockquote>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u0438\u0433\u0440\u0430\u0435\u043c\u0441\u044f \u0441 MongoDB \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c (\u0430 \u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0436\u0435 \u0438 \u0443\u0434\u0430\u043b\u0438\u043c) \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0442\u043e\u043c \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d. \u041e\u043d \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0430\u0448\u0435 \u0434\u0440\u0430\u0433\u043e\u0446\u0435\u043d\u043d\u043e\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043c\u044b \u044f\u0432\u043d\u043e \u043d\u0435 \u0443\u0434\u0430\u043b\u0438\u043c \u0435\u0433\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker volume rm $(docker volume ls -q)<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0443 \u0438\u043b\u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0443\u0436\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0443\u044e \u043d\u0430\u043c \u0441\u0443\u0431\u043a\u043e\u043c\u0430\u043d\u0434\u0443 prune:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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:~$<\/code><\/pre>\n<p>  <\/p>\n<h3>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430 \u0434\u043b\u044f \u043a\u044d\u0448\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432<\/h3>\n<p>  <\/p>\n<p>\u0412 Docker 18.09 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043f\u0440\u0435\u0442\u0435\u0440\u043f\u0435\u043b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0443 BuildKit. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0439 \u0448\u0442\u0443\u043a\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e. \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043b\u0438\u0448\u044c \u043d\u0430\u043c \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430.<\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Node.Js:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0444\u0430\u0439\u043b index.js \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 HTTP \u0441\u0435\u0440\u0432\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441: <\/li>\n<li>\u0444\u0430\u0439\u043b package.json \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e expressjs \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 HTTP \u0441\u0435\u0440\u0432\u0435\u0440\u0430: <\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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(&quot;%s - %s&quot;, new Date(), 'Got Request')); }); app.listen(process.env.PORT || 80);<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ cat package.json     {       &quot;name&quot;: &quot;testnode&quot;,       &quot;version&quot;: &quot;0.0.1&quot;,       &quot;main&quot;: &quot;index.js&quot;,       &quot;scripts&quot;: {         &quot;start&quot;: &quot;node index.js&quot;       },       &quot;dependencies&quot;: {         &quot;express&quot;: &quot;^4.14.0&quot;       }     }<\/code><\/pre>\n<p>  <\/p>\n<p>Dockerfile \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">FROM node:13-alpine COPY package.json \/app\/package.json RUN cd \/app &amp;&amp; npm install COPY . \/app\/ WORKDIR \/app EXPOSE 80 CMD [&quot;npm&quot;, &quot;start&quot;]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f BuildKit:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ docker build -t app:1.0 .<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 (node:13-alpine) \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 (app:1.0):<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u0432\u0442\u043e\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0443\u0436\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c BuildKit. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043b\u0438\u0448\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e DOCKER_BUILDKIT \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 1:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ DOCKER_BUILDKIT=1 docker build -t app:2.0 .<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043c \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u044d\u0448 \u0441\u0431\u043e\u0440\u043a\u0438 (buid-cache):<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0435\u0433\u043e \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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<\/code><\/pre>\n<p>  <\/p>\n<h3>\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0441\u0435!<\/h3>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u0437\u0430\u043d\u044f\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438, \u043e\u0431\u0440\u0430\u0437\u0430\u043c\u0438 \u0438 \u0442\u043e\u043c\u0430\u043c\u0438. \u0412 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0441\u0443\u0431\u043a\u043e\u043c\u0430\u043d\u0434\u0430 prune. \u041d\u043e \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 docker, \u0438 \u043e\u043d\u0430 \u043e\u0447\u0438\u0441\u0442\u0438\u0442 \u0432\u0441\u0435, \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043c\u043e\u0436\u0435\u0442:<\/p>\n<p>  <\/p>\n<pre><code class=\"plaintext\">$ 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]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u043b\u0438\u0431\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0441 Docker, \u0442\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u0442\u043e\u0438\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0443.<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/486200\/\"> https:\/\/habr.com\/ru\/post\/486200\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/486200\/\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yj\/sm\/cu\/yjsmcuobxq-gpywchjtapz4n3cq.jpeg\"\/>  <\/p>\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/medium.com\/better-programming\/docker-tips-clean-up-your-local-machine-35f370a01a78\">&quot;Docker Tips: Clean Up Your Local Machine&quot;<\/a> \u0430\u0432\u0442\u043e\u0440\u0430 <a href=\"https:\/\/medium.com\/@lucjuggery\">Luc Juggery<\/a>.<\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a Docker \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u043e\u0442 \u043e\u0448\u043c\u0435\u0442\u043a\u043e\u0432 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-297930","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/297930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=297930"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/297930\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=297930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=297930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=297930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}