{"id":3971,"date":"2026-08-27T05:55:44","date_gmt":"2026-08-27T02:55:44","guid":{"rendered":"https:\/\/dockerhosting.ru\/blog\/?p=3971"},"modified":"2026-08-27T05:59:07","modified_gmt":"2026-08-27T02:59:07","slug":"docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu","status":"publish","type":"post","link":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/","title":{"rendered":"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"520\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png\" alt=\"\" class=\"wp-image-3972\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png 923w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13-300x169.png 300w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13-767x432.png 767w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Docker Sandboxes<\/strong> \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Docker 2026 \u0433\u043e\u0434\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u043b\u0438 GitLab CI \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c Docker Engine \u0432\u043d\u0443\u0442\u0440\u0438 microVM. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0438, \u0442\u0435\u0441\u0442\u044b, AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 (Claude Code, Codex, Cursor Agent), Docker Buildx \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. Docker \u043f\u0435\u0440\u0435\u0432\u0451\u043b \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u0437 Docker Desktop \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 <code>sbx<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A7%D1%82%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D0%BB%D0%BE%D1%81%D1%8C_%D0%B2_Docker_Sandboxes\" >\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432 Docker Sandboxes<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5\" >\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_Docker_Sandbox\" >\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 Docker Sandbox<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9A%D0%B0%D0%BA_%D1%8D%D1%82%D0%BE_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BE\" >\u041a\u0430\u043a \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Host_%E2%86%92_MicroVM_%E2%86%92_Docker_Engine_%E2%86%92_Containers\" >Host \u2192 MicroVM \u2192 Docker Engine \u2192 Containers<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A7%D1%82%D0%BE_%D0%B8%D0%B7%D0%BE%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D1%82%D1%81%D1%8F\" >\u0427\u0442\u043e \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83_%D1%8D%D1%82%D0%BE_%D0%B2%D0%B0%D0%B6%D0%BD%D0%BE_%D0%B4%D0%BB%D1%8F_GitLab_CI\" >\u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f GitLab CI<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4%D0%BE%D0%B2\" >\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%93%D0%B4%D0%B5_Sandbox_%D0%B2%D1%8B%D0%B8%D0%B3%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D1%82\" >\u0413\u0434\u0435 Sandbox \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9A%D0%B0%D0%BA_GitLab_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82_Sandbox\" >\u041a\u0430\u043a GitLab \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 Sandbox<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#GitLab_Pipeline_%E2%86%92_Sandbox_%E2%86%92_Docker\" >GitLab Pipeline \u2192 Sandbox \u2192 Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Docker_Sandbox\" >\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Docker Sandbox<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B\" >\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Linux\" >Linux<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D0%B5%D0%BC\" >\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_Docker\" >\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B9_Sandbox\" >\u041f\u0435\u0440\u0432\u044b\u0439 Sandbox<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D0%B5%D0%BC_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5\" >\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A7%D1%82%D0%BE_%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%81%D1%8F_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\" >\u0427\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Docker_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\" >\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Docker \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#BuildKit_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8\" >BuildKit \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Docker_Compose_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\" >Docker Compose \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#docker-composeyml\" >docker-compose.yml<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_Sandbox_%D0%BA_GitLab_CI\" >\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c Sandbox \u043a GitLab CI<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%B0%D1%8F_%D1%81%D1%85%D0%B5%D0%BC%D0%B0\" >\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC_Runner\" >\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Runner<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Dockerfile_Runner\" >Dockerfile Runner<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D1%83%D0%B5%D0%BC_Runner\" >\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c Runner<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_gitlab-ciyml\" >\u041f\u0440\u0438\u043c\u0435\u0440 .gitlab-ci.yml<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B0_%D0%B2_GitLab_Registry\" >\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u0430 \u0432 GitLab Registry<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%BE%D0%B2\" >\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D1%8B%D1%85_%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA\" >\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u043e\u043b\u0438\u0442\u0438\u043a<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Balanced_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC\" >Balanced \u0440\u0435\u0436\u0438\u043c<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Open_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC\" >Open \u0440\u0435\u0436\u0438\u043c<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-35\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%97%D0%B0%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E\" >\u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-36\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Dashboard_Sandboxes\" >Dashboard Sandboxes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-37\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9D%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_Sandbox_%D0%BE%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE\" >\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e Sandbox \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-38\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Git_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\" >\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Git \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-39\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_Claude_Code_Codex_Cursor_Agent\" >\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Claude Code \/ Codex \/ Cursor Agent<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-40\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83\" >\u041f\u043e\u0447\u0435\u043c\u0443<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-41\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_Dangerous_Mode_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE\" >\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Dangerous Mode \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-42\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D1%8B_PostgreSQL_Redis_RabbitMQ\" >\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b PostgreSQL + Redis + RabbitMQ<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-43\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9A%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9\" >\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-44\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Declarative_Sandbox_Environment_sbxenvyaml\" >Declarative Sandbox Environment (.sbxenv.yaml)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-45\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80\" >\u041f\u0440\u0438\u043c\u0435\u0440<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-46\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9E%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_CPU_%D0%B8_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8\" >\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 CPU \u0438 \u043f\u0430\u043c\u044f\u0442\u0438<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-47\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%BE%D0%B1%D1%80%D0%BE%D1%81_%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2\" >\u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-48\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Kubernetes\" >\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-49\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_Buildx_Multi-Platform\" >\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Buildx Multi-Platform<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-50\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#GitLab_Matrix_Build\" >GitLab Matrix Build<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-51\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9E%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0_Sandbox\" >\u041e\u0447\u0438\u0441\u0442\u043a\u0430 Sandbox<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-52\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#Docker_Sandbox_vs_Docker-in-Docker\" >Docker Sandbox vs Docker-in-Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-53\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C\" >\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-54\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A7%D1%82%D0%BE_%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D1%82_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0\" >\u0427\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-55\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_Pipeline_%D0%B4%D0%BB%D1%8F_dockerhostingru\" >\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 Pipeline \u0434\u043b\u044f dockerhosting.ru<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-56\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_Docker_Sandboxes\" >\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Docker Sandboxes<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-57\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%A7%D1%82%D0%BE_%D0%B7%D0%B0%D1%89%D0%B8%D1%89%D0%B0%D0%B5%D1%82_Sandbox\" >\u0427\u0442\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 Sandbox<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-58\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%9A%D0%BE%D0%B3%D0%B4%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_Docker_Sandbox_%D0%B2_GitLab\" >\u041a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Docker Sandbox \u0432 GitLab<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-59\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D1%82%D0%BE%D0%B3%D0%B8\" >\u0418\u0442\u043e\u0433\u0438<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-60\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#%D0%98%D0%BB%D0%BB%D1%8E%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B5\" >\u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 id=\"h-\u0447\u0442\u043e-\u043d\u043e\u0432\u043e\u0433\u043e-\u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c-\u0432-docker-sandboxes\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A7%D1%82%D0%BE_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D0%BB%D0%BE%D1%81%D1%8C_%D0%B2_Docker_Sandboxes\"><\/span>\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u043e\u0441\u044c \u0432 Docker Sandboxes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0433\u043e Docker-in-Docker (<code>dind<\/code>) \u0438\u043b\u0438 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f <code>\/var\/run\/docker.sock<\/code>, \u043d\u043e\u0432\u044b\u0439 Sandbox \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443.<\/p>\n\n\n\n<h3 id=\"h-\u0433\u043b\u0430\u0432\u043d\u043e\u0435-\u043e\u0442\u043b\u0438\u0447\u0438\u0435\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B5_%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5\"><\/span>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 Docker Runner<\/td><td>Docker Sandbox<\/td><\/tr><tr><td>\u041e\u0431\u0449\u0438\u0439 kernel \u0441 \u0445\u043e\u0441\u0442\u043e\u043c.<\/td><td>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 Linux kernel \u0432\u043d\u0443\u0442\u0440\u0438 microVM.<\/td><\/tr><tr><td>\u0414\u043e\u0441\u0442\u0443\u043f \u043a Docker Socket.<\/td><td>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 Docker Engine.<\/td><\/tr><tr><td>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/td><td>\u0425\u043e\u0441\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d.<\/td><\/tr><tr><td>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c.<\/td><td>\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0441\u0435\u0442\u0438 Allow \/ Deny.<\/td><\/tr><tr><td>\u0421\u043b\u043e\u0436\u043d\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432.<\/td><td>\u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c YOLO \/ Dangerous Mode \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 Sandboxes \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0430\u043a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation+1<\/p>\n\n\n\n<h1 id=\"h-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430-docker-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_Docker_Sandbox\"><\/span>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 Docker Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"h-\u043a\u0430\u043a-\u044d\u0442\u043e-\u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9A%D0%B0%D0%BA_%D1%8D%D1%82%D0%BE_%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BE\"><\/span>\u041a\u0430\u043a \u044d\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u043e<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"600\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-14.png\" alt=\"\" class=\"wp-image-3975\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-14.png 745w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-14-300x242.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure>\n\n\n\n<h1 id=\"h-host-microvm-docker-engine-containers\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Host_%E2%86%92_MicroVM_%E2%86%92_Docker_Engine_%E2%86%92_Containers\"><\/span>Host \u2192 MicroVM \u2192 Docker Engine \u2192 Containers<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"\" src=\"\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u0430\u0436\u0434\u0430\u044f \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 Docker daemon, \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0441\u0442\u0435\u043a. \u0425\u043e\u0441\u0442\u043e\u0432\u044b\u0439 Docker Socket \u0432\u043d\u0443\u0442\u0440\u044c \u043d\u0435 \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<h3 id=\"h-\u0447\u0442\u043e-\u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A7%D1%82%D0%BE_%D0%B8%D0%B7%D0%BE%D0%BB%D0%B8%D1%80%D1%83%D0%B5%D1%82%D1%81%D1%8F\"><\/span>\u0427\u0442\u043e \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/akwSNFZOVKRvz66SgkFXC1fMQ6TOztr9imLikLb6F_WTfSp-wg3jhhyJ4SItEiAIJx2ZqoXYmo-l9CZMgw-QRdK74IA-EDY_Ek47_nS4eWItTkDen1O-ruLTimY-9pMpAV5iqrWuBg45IYraqn0uESJ67SjYpXS4UcLc9v48tfg?purpose=inline\" alt=\"The Untrusted Autonomous Workload and AI Sandboxes | Docker\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/sUeIk8s43vEqGaoi6lRnYmYP6fszdxhVIKRXPcDcNdgGbnoBHC8-59spiFhpM-t-NeKHoEOhr1khpyCj27IG9zwYlygsXdJlO4WSYnZWfRksRIAm8iRm3Job0I8tUmAgtCD7z1obXfmB_qNc0xTsuWdipfDTTyf7_4gYWC0h2Jg?purpose=inline\" alt=\"MicroVMs - jmanteau\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Docker Networking - An Overview\" src=\"https:\/\/images.openai.com\/static-rsc-4\/z-WqufxXABJyvy07ZSg12ivgPM8gv1g8Exxl28PHwNaxo3E6gTworysi90Ag5yvvM5DzMnSujYixyyPdObKeOP2yGK9AQGUyXAVp6FfwBRRDD0WNzDInNWWLLGnit2g885zfb86c_UZG8ohegwQ_7Mjs_foyZkjCSps92Ydo6Ko?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442<\/td><td>\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f<\/td><\/tr><tr><td>\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/td><td>\u0422\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 workspace \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u044c.<\/td><\/tr><tr><td>Docker Engine<\/td><td>\u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 daemon.<\/td><\/tr><tr><td>Network<\/td><td>\u041f\u0440\u043e\u043a\u0441\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u0443\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0430\u043c.<\/td><\/tr><tr><td>Secrets<\/td><td>\u041f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 <code>sbx secret<\/code>.<\/td><\/tr><tr><td>Kernel<\/td><td>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 kernel \u0432\u043d\u0443\u0442\u0440\u0438 microVM.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 id=\"h-\u043f\u043e\u0447\u0435\u043c\u0443-\u044d\u0442\u043e-\u0432\u0430\u0436\u043d\u043e-\u0434\u043b\u044f-gitlab-ci\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83_%D1%8D%D1%82%D0%BE_%D0%B2%D0%B0%D0%B6%D0%BD%D0%BE_%D0%B4%D0%BB%D1%8F_GitLab_CI\"><\/span>\u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0434\u043b\u044f GitLab CI<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 GitLab \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0440\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Docker.<\/p>\n\n\n\n<h2 id=\"h-\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435-\u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4%D0%BE%D0%B2\"><\/span>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Docker Socket<\/td><td>Docker-in-Docker<\/td><td>Docker Sandbox<\/td><\/tr><tr><td>\u041e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e.<\/td><td>\u0421\u0440\u0435\u0434\u043d\u044f\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c.<\/td><td>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.<\/td><\/tr><tr><td>\u041d\u0435\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e.<\/td><td>\u041d\u0443\u0436\u0435\u043d privileged.<\/td><td>Privileged \u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u0432\u043d\u0443\u0442\u0440\u0438 \u0445\u043e\u0441\u0442\u0430.<\/td><\/tr><tr><td>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0445\u043e\u0441\u0442\u043e\u043c.<\/td><td>\u041e\u0431\u0449\u0438\u0439 kernel.<\/td><td>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f microVM.<\/td><\/tr><tr><td>\u041d\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u043e\u043b\u0438\u0442\u0438\u043a.<\/td><td>\u041d\u0435\u0442 \u0433\u0438\u0431\u043a\u0438\u0445 \u043f\u043e\u043b\u0438\u0442\u0438\u043a.<\/td><td>Allow \/ Deny \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0430\u0439\u0442\u043e\u0432.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 id=\"h-\u0433\u0434\u0435-sandbox-\u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%93%D0%B4%D0%B5_Sandbox_%D0%B2%D1%8B%D0%B8%D0%B3%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D1%82\"><\/span>\u0413\u0434\u0435 Sandbox \u0432\u044b\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CI\/CD \u0441 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c.<\/li>\n\n\n\n<li>AI Code Review.<\/li>\n\n\n\n<li>BuildKit.<\/li>\n\n\n\n<li>Docker Compose \u0432\u043d\u0443\u0442\u0440\u0438 CI.<\/li>\n\n\n\n<li>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b.<\/li>\n\n\n\n<li>Kubernetes manifests validation.<\/li>\n<\/ul>\n\n\n\n<h1 id=\"h-\u043a\u0430\u043a-gitlab-\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9A%D0%B0%D0%BA_GitLab_%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82_Sandbox\"><\/span>\u041a\u0430\u043a GitLab \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"393\" src=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-15.png\" alt=\"\" class=\"wp-image-3977\" srcset=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-15.png 798w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-15-300x148.png 300w, https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-15-768x378.png 768w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/figure>\n\n\n\n<h1 id=\"h-gitlab-pipeline-sandbox-docker\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"GitLab_Pipeline_%E2%86%92_Sandbox_%E2%86%92_Docker\"><\/span>GitLab Pipeline \u2192 Sandbox \u2192 Docker<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"\" src=\"\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Runner \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 <code>sbx run<\/code>, \u0432\u043d\u0443\u0442\u0440\u0438 microVM \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 Docker Engine, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u044e\u0442\u0441\u044f \u0432 GitLab Registry.<\/p>\n\n\n\n<h1 id=\"h-\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430-docker-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Docker_Sandbox\"><\/span>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Docker Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"h-\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B\"><\/span>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/td><td>\u0421\u0442\u0430\u0442\u0443\u0441<\/td><\/tr><tr><td>Ubuntu 24.04 \/ 22.04<\/td><td>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/td><\/tr><tr><td>Debian 12<\/td><td>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/td><\/tr><tr><td>Windows 11<\/td><td>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 Hypervisor Platform.<\/td><\/tr><tr><td>macOS Apple Silicon<\/td><td>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f Docker \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 <code>docker-sbx<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation+1<\/p>\n\n\n\n<h3 id=\"h-linux\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Linux\"><\/span>Linux<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsSL https:\/\/get.docker.com | sudo REPO_ONLY=1 sh\n\nsudo apt update\nsudo apt install docker-sbx<\/code><\/pre>\n\n\n\n<h3 id=\"h-\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D0%B5%D0%BC\"><\/span>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx version<\/code><\/pre>\n\n\n\n<h1 id=\"h-\u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f-docker\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%90%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_Docker\"><\/span>\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f Docker<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx login<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/R7F7YeZGDMyMALZACMSiDaFYCOYompOvA9Q85bIoueQh1rvryqcnaIiQoV7oMqAhP7Xj1rUh0C8CSKc-Sk60nu1j7XruetJ6xjrCa6beLjDyMCJYCp1zGxUKmuvYGzykguc_Xbt9y401QFr0NzaZohArvPfak33p9l2lBKgFOGo?purpose=inline\" alt=\"Tutorial Docker: instalaci\u00f3n y primeros pasos - IONOS\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/qLmFWPWj7jxU9u7owfLP8u6gmCRuURyXtp0TcJbcUDDJtpfz-FzpZiTAraKtWESyaIx1wlsL13vItdrSy9Z5ScuUwqg_MrXdoOVufNDar3N5WjMcL6zmtcjSL79qQLycFD-sf_zVGd7r7_epMpwADlkp0if1ceojjxcdYzBgJus?purpose=inline\" alt=\"Running AI agents safely in a microVM using docker sandbox\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/USFLGvK1Y8Pxvz31Nb_8pQhYvanTfjL6u7AOWq8hsFg0N5tNnUK2xu82J_uNfl-aBuFGv-Hzlq1fPW5xUlWUafPTqwx9PT-Qrcu6Og6Zr9AtF--6-kW9XmqNIFVNHVgSWmc80wk3soum8O2Et_cfdHjpxMx84X3arlk-h6xLNf4?purpose=inline\" alt=\"DeadlineExceeded: DeadlineExceeded: ubuntu:22.04: - General - Docker Community Forums\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u043b\u043e\u0433\u0438\u043d\u0430 Sandbox \u0441\u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Docker Hub, Registry \u0438 \u0441\u0435\u043a\u0440\u0435\u0442\u044b.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<h1 id=\"h-\u043f\u0435\u0440\u0432\u044b\u0439-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B9_Sandbox\"><\/span>\u041f\u0435\u0440\u0432\u044b\u0439 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir demo\ncd demo\n\nsbx run bash<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c shell \u0432\u043d\u0443\u0442\u0440\u0438 microVM.<\/p>\n\n\n\n<h2 id=\"h-\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c-\u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D0%B5%D0%BC_%D0%BE%D0%BA%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5\"><\/span>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>uname -a\n\ndocker version\n\ndocker info<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/sGebKMtrtqhunLdO5LsmJK8lZwmSMIU3SLNCBPFg1LIqTDg9dRKuJ2I_vG6Cca9RnJVditCSytjdHG3MgRV7tHzTUBKjIhs15mwK6lrn6sf_Nmd3ksrk23TOvWLp-JJhEwwOFi94LZP1gAy-7YYCsddeIbQD2JNV6g3YnyxF2Vg?purpose=inline\" alt=\"Docker\u8fd0\u884c\u7b2c\u4e00\u4e2aHelloWorld+\u5e38\u7528\u547d\u4ee4_docker run hello-world-CSDN\u535a\u5ba2\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/ApRy4G-5vrx8LsrZVit2UxZPHVmDET7f9W6h7_qkGspSHGIy_orn6ceV-TlQ_T4acJltEO5agXdjesTSpPrclDFGRPRym1WFkQTU5_OGhTAY1U8QNhNNGPwguc37ocQANE36E076LqZShWUksXnUrMznsTvbE9lfZSUCt4680aw?purpose=inline\" alt=\"Docker Advanced: Working with Containers from the command line\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"How to Install Docker on Ubuntu 22.04 (Step-by-Step)\" src=\"https:\/\/images.openai.com\/static-rsc-4\/nG-dDgcbSG8KEvA8WxUxbwloL0UlB1DOMwy0P2jAjSqAl_EBuOEv0NsHDXGJqUk6DFjvVs5MNpR2Qus3gE8hwHgWQAjp_YDL2O4a-9X99HZHei7lz5eqCRPYXmQe4YvXFKcTTlPj_bSDAOACn4mGAJNJnSDG-Pu-6wU9toHZpDg?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker daemon \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/li>\n\n\n\n<li><code>\/var\/run\/docker.sock<\/code> \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.<\/li>\n\n\n\n<li>Engine \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u0432\u043d\u0443\u0442\u0440\u0438 VM. <img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\">Docker Documentation<\/li>\n<\/ul>\n\n\n\n<h1 id=\"h-\u0447\u0442\u043e-\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f-\u0432\u043d\u0443\u0442\u0440\u0438-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A7%D1%82%D0%BE_%D0%BD%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82%D1%81%D1%8F_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\"><\/span>\u0427\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/QQHEZlYyeDWxPAnWcBi_5ZyeBJJMHN0b6zJ-pdJTSdWXdsomTlVWPxnvpkBuSImIr4A-YbgIQ_SCURt0X4xMEk64kjyeO4rrx8-nMcxcVTjnVxU3XxtitG9w5Js7Ep9qhXjMFcy6UaSYqo0UFDFmmoADcVKiiblaEzHaUN7jIRM?purpose=inline\" alt=\"How I Sandboxed My AI Coding Agent Using Docker Sandboxes\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/MOUg3G6erhOTvo-HGO4rx3kMSjz2QTgjsf0YqK_03G4WE7NTcG5O8W0cOr5ZcDn0eBkzD0YqfojRaUqJ8PRR5YysNaguGjrdjUHfPcvoB4H5YqhK9ZFdrzfB1e-rmKs-THirLxKhBhV36hWcKwccULN_IXwWkVaWtfkpyZW3MAs?purpose=inline\" alt=\"How I Sandboxed My AI Coding Agent Using Docker Sandboxes\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/qewRqQvqkI0FyIRwfPYdsVG1H-Pmnawr56E80v0FDB2QdPDA_K-PLuM8mKpXrXt6wpOkDg2pjfITxN53Tc8G0-AsaPzfh0BaFI7ER12MbYRays7VrEKzOYiAFOjhECGiw4brr45aRM8f_Ff5qDk2hxwfyN_8ZWiW2jsa8zrk4Tc?purpose=inline\" alt=\"Building AI Teams with Docker Sandboxes &amp; Docker Agent | Docker\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u041a\u0430\u0442\u0430\u043b\u043e\u0433<\/td><td>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/td><\/tr><tr><td><code>\/workspace<\/code><\/td><td>\u0412\u0430\u0448 Git-\u043f\u0440\u043e\u0435\u043a\u0442.<\/td><\/tr><tr><td><code>\/tmp<\/code><\/td><td>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b.<\/td><\/tr><tr><td><code>\/var\/lib\/docker<\/code><\/td><td>Docker images \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox.<\/td><\/tr><tr><td><code>\/root\/.cache<\/code><\/td><td>\u041a\u044d\u0448 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f Sandbox \u0432\u0441\u0451 \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442.<\/p>\n\n\n\n<h1 id=\"h-\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435-docker-\u043e\u0431\u0440\u0430\u0437\u043e\u0432-\u0432\u043d\u0443\u0442\u0440\u0438-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_Docker_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\"><\/span>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Docker \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM alpine:3.22\n\nRUN apk add curl git bash\n\nCMD &#91;\"bash\"]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0431\u043e\u0440\u043a\u0430.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker build -t alpine-dev .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u043a.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm alpine-dev curl https:\/\/example.com<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/_8WTLm3edYwqn67aE4ro8uzoStBvVec3cG7tLqDNc6SbHHVdcd7QUiZwnIH7czWr6WO5Q2sSP2LYIMTKA2ErUNuFA_Xsn2KnGcF4UUBKO8GRsOoneqR3AUNxqz2UU6g8zGQf0VEp6cvp_k_774qif-ZNIYiOC8X7IqKzs-EnV4U?purpose=inline\" alt=\"Docker Images Overview\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/FbBa46MyxUnJppeRlYIvjy0y09A-1nowozujHnFMEnOwLGib9H8ro1NcAFCyVTPmXnW3eLM-CD-DoF-D0VY3_ppml26HqgEwBdqwvrRXU54s8t__S4QqI9BqTgFjW1NRy7sNobViZn6wgvLoUO48hfu8vbFSPno_vchWWC4LBBk?purpose=inline\" alt=\"Communication between containers: networking in Docker - Blog by Vincenzo Racca\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Buildkit style output \u00b7 Issue #873 \u00b7 go-task\/task \u00b7 GitHub\" src=\"https:\/\/images.openai.com\/static-rsc-4\/JikgadE24iUlzR7139sHv_7rrbtFfjLRe6FiF3appE6GHybPPd1iJvxRA4GJ_t9trK_h_JiF1Z5bxsPuGT3Yd3ZnIU_bOTuNiiJFZoNIqUBDsep4jlgOqhFk29PhWxNvdkEPFV55usywIh8X6cmmdrp_Rw3gm6yoqso8Ff_TvkQ?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<h1 id=\"h-buildkit-\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442-\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"BuildKit_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82_%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8\"><\/span>BuildKit \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>DOCKER_BUILDKIT=1 docker build .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cache mounts;<\/li>\n\n\n\n<li>multi-stage builds;<\/li>\n\n\n\n<li>secrets;<\/li>\n\n\n\n<li>SSH forwarding.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/friIMgqIOky_eejwmA9OsaVYwWCdPpalaVTDG9S-3-FALCPL6GAa94ZvQZXNejJLTUl8hKLfjG06LlHxKA34PRejwkLQ7eWInXcIpkxsNE2CKpbh-QkOJJa0qLlCswu6K2njAYtSj2ikFp2bTO4UYEfefxpvkBkPYNtjPykSkkU?purpose=inline\" alt=\"Docker \u6784\u5efa\u67b6\u6784_Docker\u4e2d\u6587\u7f51\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/IVODbh0BLcFREobvumqeS6TLRMGIFvTZUlmco5UGa8BDB3cauCScq5X4eGIVgyHZdHdwRl0CqwtSoYy81tcsE1TyQVS4pMqRK_f6MwdF-7t7rtEAPG0pLAReQGKBslimnUycM0OMiP_VZZce6g3CQqIHyuW1KSdLXaT7SR5U1d8?purpose=inline\" alt=\"Smaller Docker Images, Better Security: Why Multi-Stage Builds Matter\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"\u6784\u5efa\u5bb9\u5668\u955c\u50cf\u5229\u5668\uff1aBuildKit\u5b89\u88c5-CSDN\u535a\u5ba2\" src=\"https:\/\/images.openai.com\/static-rsc-4\/dE21Uoa8j-JLKZCmCMlom6uzFEL1Ywpufcl6LgQbUiBI8Is1ebV8gmVNtn8vvXHoWkuLaoZxmYZTtNBRA73wK6Qo54vKDEwhPFMSG0wQzljp3U9aZlpa8WJK07FYKcQd5H_WaviCZwexjIF8DdYIHzPy9eUSQgTR8C3xtVxRiP8?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5<\/p>\n\n\n\n<h1 id=\"h-docker-compose-\u0432\u043d\u0443\u0442\u0440\u0438-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Docker_Compose_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\"><\/span>Docker Compose \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h3 id=\"h-docker-compose-yml\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"docker-composeyml\"><\/span>docker-compose.yml<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  postgres:\n    image: postgres:17\n    environment:\n      POSTGRES_PASSWORD: secret\n\n  api:\n    build: .\n    depends_on:\n      - postgres<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u043a.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose up -d<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/a5VgBgKPaBOw8IsJlBoDl7hqFoGTeRCUfacGOi__PWLHFxJG95YBYa66bfNH24KbltZ1EozXDBZHm_Tuec90EBp0-OYAos90CW1slAiWy4aDTg07XyEwJ3mEj4u76x-bVTcWp8nC23XjDfXDJvdDp0fz0NKjzpGVZAcrcSc3cDA?purpose=inline\" alt=\"Docker compose init \u2014 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0444\u043e\u0442\u043e \u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u043e \u0442\u0435\u043c\u0435 | \u0414\u0437\u0435\u043d\u0420\u0443\u0441\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/D75ZVBla6a_-zSqCH2XXbHSaNvQxulYJ6wpVNgsP6iUIX5RNMdzYnVLbL7IW6en5zELM4f1DDNCyITsUyoOVnAjEXySk10SrpF1idu6q-xMGZtcQLAjo3fFVrVjANr8LFThzuoJiRm72GZU7voQKzHeKl0GKp3qOauyD_iwnm-A?purpose=inline\" alt=\"Docker Compose | Cloud Administration &amp; Security\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Building a Multi-Tier Dockerized Application with MongoDB, Node.js, and React | by Olajide Salami | Medium\" src=\"https:\/\/images.openai.com\/static-rsc-4\/YqIerMW21Nug2nVRvmRs6_fQ4li9k22BaCr-aIUZwD_t7Nst7at9sFcGDuvpHx7ZsFdg8fyZsJIjWbhKpz1t6Ws4fhsYDU9MLxLnRCNhj6lUWzAvpE80EmIrsuTAXebqHaRcJsE34lR5Wa6cqk7jwcx90k3Kd42ev-wjBYRsbbo?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0441\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 VM.<\/p>\n\n\n\n<h1 id=\"h-\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c-sandbox-\u043a-gitlab-ci\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D0%BC_Sandbox_%D0%BA_GitLab_CI\"><\/span>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c Sandbox \u043a GitLab CI<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 id=\"h-\u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f-\u0441\u0445\u0435\u043c\u0430\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%B0%D1%8F_%D1%81%D1%85%D0%B5%D0%BC%D0%B0\"><\/span>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/aB5NHTlUgeAlXUhBAdIxKDFyFssqs_zKqOXeqsrXbaRTRhp2bZeAZn7CcopRP0qXHbzJ_9tOOl9jAc6uRhBrsnJTlJiJZh3ggaQwsfFo_H2FN0W7Z5ZSo1h2GMZmw2bqzSH7_0-6MHNQAt92hOL7LEDCAQXl__rQt0GpGVVLv2M?purpose=inline\" alt=\"Retrieve GitLab CI artifacts from child pipelines | by Alexander Chumakin | Medium\"\/><\/figure>\n\n\n\n<h2 id=\"h-\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c-runner\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC_Runner\"><\/span>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Runner<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/uvGN6kHro0BtgvsaFZqscq6tQIKnJU26bV2qsxfvm7wtzufYxqUxdbW-dz6T-ywNqn3C7E-fO8ikmU6yFrStBPH97662fYa6emVkrUpOnPiFteF7LB93LZGbaiIeifRYyhhOiAO3c5iBhsyNoRtiPWuZ3H_DvLblnp07l7XvxbU?purpose=inline\" alt=\"GitLab Runner : optimisez vos pipelines CI\/CD\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/4s5VjkKqypxJ0IS01s-hD69Jxd3n32An2THFXnUlM2Hys23C5nqgoX-ssy1PJHKWf6C6JmWLt3qq0aS0ZaywgIx8gM9mDx4ACJaDNJmi1OW8Hon8zxOu3SzXGnzd5AXcV10keNQLPNX3ar_v87o0DR66Ery93hpLGo3TcVZsHl0?purpose=inline\" alt=\"iT \u90a6\u5e6b\u5fd9::\u4e00\u8d77\u5e6b\u5fd9\u89e3\u6c7a\u96e3\u984c\uff0c\u62ef\u6551 IT \u4eba\u7684\u4e00\u5929\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"The Complete Gitlab CI\/CD DevOps &amp; Platform Engineering Master Guide: From Zero to Hero (Part 1\/3) | by Salwan Mohamed | Medium\" src=\"https:\/\/images.openai.com\/static-rsc-4\/IPjL02RyPXaiubcChEe_QdubCyRkcx2mU3DPIg7eRLNMgXZnF5XgxPPnRLBm5MGxtQmvo8B2oYAi_gumgYLnzGQzsejhEW_typ6_yFSTbOxeNXmNmo20sfBh_CHeZK6hqzH8w5oXVwmKhTll0_QHPpAOIq8EnfUBVDAj0ABL7SY?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d \\\n --name gitlab-runner \\\n --restart always \\\n -v gitlab-runner-config:\/etc\/gitlab-runner \\\n -v \/var\/run\/docker.sock:\/var\/run\/docker.sock \\\n gitlab\/gitlab-runner:latest<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u0442\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0438 Runner \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <code>docker-sbx<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 Runner.<\/p>\n\n\n\n<h2 id=\"h-dockerfile-runner\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Dockerfile_Runner\"><\/span>Dockerfile Runner<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM gitlab\/gitlab-runner:alpine\n\nRUN apk add bash curl git\n\nRUN curl -fsSL https:\/\/get.docker.com | sh\n\nRUN apk add docker-sbx<\/code><\/pre>\n\n\n\n<h1 id=\"h-\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c-runner\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D1%83%D0%B5%D0%BC_Runner\"><\/span>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c Runner<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>gitlab-runner register<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c Docker Executor.<\/p>\n\n\n\n<h1 id=\"h-\u043f\u0440\u0438\u043c\u0435\u0440-gitlab-ci-yml\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80_gitlab-ciyml\"><\/span>\u041f\u0440\u0438\u043c\u0435\u0440 .gitlab-ci.yml<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>stages:\n  - build\n\nvariables:\n  DOCKER_BUILDKIT: \"1\"\n\nbuild-image:\n  stage: build\n\n  script:\n    - sbx run -- docker build -t app:${CI_COMMIT_SHA} .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u043c\u0435\u043d\u043d\u043e <code>sbx run<\/code> \u0441\u043e\u0437\u0434\u0430\u0451\u0442 Sandbox \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0451.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<h1 id=\"h-\u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f-\u043e\u0431\u0440\u0430\u0437\u0430-\u0432-gitlab-registry\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B0_%D0%B2_GitLab_Registry\"><\/span>\u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u043e\u0431\u0440\u0430\u0437\u0430 \u0432 GitLab Registry<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>publish:\n  stage: build\n\n  script:\n    - sbx run -- docker login registry.gitlab.com \\\n        -u $CI_REGISTRY_USER \\\n        -p $CI_REGISTRY_PASSWORD\n\n    - sbx run -- docker build \\\n        -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .\n\n    - sbx run -- docker push \\\n        $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/iLgdv3RX1CKKk-HoSiIcUAac6uiCtF_tYZPFybdNSzKTgTChHt7gN54EwRPcn__5kspUpcwXhCqYIeUUy7-36tHVj3VM0kujnvGQA_Q94-ngICt2RstDgfiZXkx8gjKjPWJu3i0oZ1p_12m5g1-WqpzPBMtCyprCuHOmkDwLu6c?purpose=inline\" alt=\"How to use GitLab Container Registry - Knowledge Base of NFDI4Ing\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/fNMGY3XBL7wqd7_qI2MWvzMlpUsEBaXYDwOy1tVyAHK7fU08U-2x7o0i03rBHtk9VNmc_oMf9fm23KrHSPz9FVoD68aq5tGuM65_mt-kQamGHbJEtH4DwjWzHV8l1Rds-GFj1lCskM1G3a-zk1laXMskHlkfMj3AFKoqwkb1XeY?purpose=inline\" alt=\"How to use GitLab Container Registry - Knowledge Base of NFDI4Ing\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/TuMT4ZdnFkviyf12bfyQ7IYXmqjvHiO1A-fu-3RpFkI4QI7NIpauS6nnvdoyTpS6fEDwOXWinPByfb0VARTtI7-ykFT34LEDLhw3xtU8NsKsN-Ctxr1HwW8YmTOfpLiwIo_Z4fXtIiyTgHSrnZfuAV-f_Pj6X5alWcifqGetmBs?purpose=inline\" alt=\"Setup a Container Registry on GitLab :: NumPEx\"\/><\/figure>\n\n\n\n<h1 id=\"h-\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-\u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D0%BA%D1%80%D0%B5%D1%82%D0%BE%D0%B2\"><\/span>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Docker \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx secret set github --command \"gh auth token\"\n\nsbx secret set npm --value \"$NPM_TOKEN\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx run bash\n\necho $NPM_TOKEN<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0435\u043a\u0440\u0435\u0442 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/6xLDr801BXJ7yMAosyhXZEJcA5xEZnMqdnfaLVmS5PIo2FcAmB1Y688HYqwFmxqzARpZNLkX43x3pf75XqqmN4yW1fhXUS_DfnSxeac0wAfC6iYzCEGFBWj8-N1gQXNLhlg-9oj4zYi3eBpwujQ-y5Bp5OCWFlRUgyCsXehuBao?purpose=inline\" alt=\"sh - Cannot loop over files in \/run\/secrets in Docker - Stack Overflow\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/u-pmsYdrToT3Ju7rXQU-pblXiEDbTAm3IzvTkQ4J-nFOAUuwZBXaRkdbkgISlqWzqohTSLmKR9pemkutRlnG-uHi60L5BxMhc41OYRpnoA_zcgYMv4qftWaKBu0nnYanywzHg9_-pNyCU9Jv6BYEAuF1PdyqTWUVxhyQ2d1jUT8?purpose=inline\" alt=\"gh on Linux: Installation &amp; Configuration - LinuxForDevices\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Docker build secrets and private npm packages \u2013 Alexandra Ulsh\" src=\"https:\/\/images.openai.com\/static-rsc-4\/Y0xTTu8GV0ada0ejAQ_QDpPTP5Szy7FFGqdTY7IDZL_l9B3fr2YH0Yo9zFL-bUa7vXzI5Hs5780-O9ZiOIuZpEFlX0JT0Pnc5On6zltNWLRlEVQbZ87JkqipXJ95nO_5wtASioKcVhbkgy-gLbtOo6J6BM0MGbSoIUMZwBHYmn4?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<h1 id=\"h-\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430-\u0441\u0435\u0442\u0435\u0432\u044b\u0445-\u043f\u043e\u043b\u0438\u0442\u0438\u043a\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D1%8B%D1%85_%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA\"><\/span>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043f\u043e\u043b\u0438\u0442\u0438\u043a<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043c\u043e\u0449\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n\n\n\n<h2 id=\"h-balanced-\u0440\u0435\u0436\u0438\u043c\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Balanced_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC\"><\/span>Balanced \u0440\u0435\u0436\u0438\u043c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/MKznMMvRhKW5admdDLtmh6O1XQM0rmY11sk6vrctLddhyc9oFYwpM5Xz5OqErn9_HSk9SVImZh6I9KcoLzIKYwYcKxMIKmblSDBBUQiyi-ihAsOKMSZKxrUlSC1PvsBty4hIpHFsx5KlLo7ejVopMgt6vjww1Lym8KaENY5KqW4?purpose=inline\" alt=\"Firewall vs. Antivirus: Breaking Down the Differences - Palo Alto Networks\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/ld1kllXjxgqTz9HHwksNlGSHTGo_IOk88g58doKvFoRxeuJRZhoDpFA2OgTeUaYeN5b1o8s-N7hH-m8z0vSh-vnTSH1SDDRtT2NZ1vXiPuFT4Tk9pX_1d3AYoUVYaiB5hA6bPIPqtP3Zi8cRqWkrymE4G722DrNr60V8u5EJKA8?purpose=inline\" alt=\"Docker Sandboxes | Sandboxes for Coding Agents | Docker\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/iuAKPbg4tqC2jNmXcwf9OwCpEgBel21X1CooEFlUimVcTBEXpB8G1CutIJr037OD0Q8cuOIA-FRLQj_jxz6jB6K-EuDHE1eOfX08pdCTnHLri6kzCg7jrgEWHf4YLplTcAP9Mpo8D7O2p9xmVqrF6flTJtZdlUKtUzlw2zGPrZs?purpose=inline\" alt=\"Cursor 2.5: Sandbox Network Access Controls - Release Discussions - Cursor - Community Forum\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx policy ls<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c Docker Hub.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx policy allow network registry-1.docker.io<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c GitLab.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx policy allow network gitlab.com<\/code><\/pre>\n\n\n\n<h2 id=\"h-open-\u0440\u0435\u0436\u0438\u043c\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Open_%D1%80%D0%B5%D0%B6%D0%B8%D0%BC\"><\/span>Open \u0440\u0435\u0436\u0438\u043c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx policy allow network \"*\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u0441\u0435 \u0441\u0430\u0439\u0442\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b.<\/p>\n\n\n\n<h2 id=\"h-\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c-\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%97%D0%B0%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D0%BC_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82_%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E\"><\/span>\u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx policy deny network \"*\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/2uCAOsO0inJWNsvD9GhT2NYowbSoZkmUnPDMmtxsX2Oj2K-zaJG6kaYNffp7ZETFfTB01K6as1ZrT8Uw5qpcanti4UIu5i8ZT1UKckNwbrG7OoDe413MFb8nOQnzhiP1ExRA4GAxr9pRTi3mx3yZLS8kxXDjf3ffq3XO3lZDAJM?purpose=inline\" alt=\"Introducing nono: Kernel-Level Sandboxing for AI Agents: https:\/\/nono.sh \n\nI had been working on this in the background, but I rushed it out due to all the attacks hitting OpenClaw. We have already\u2026 | Luke Hinds | 17 comments\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/_JdQeu0gwm-CmJwAD0lvmdZzQC_U_iDGJQIDH6tTaTTPGC0OyQi0V_7mjnu_32rnF9dWWIibrkM8ZW4F-f0m-mBNKGVmxisKbV5mZan144ivncLsWG59o_4ei4xK7cx-_oMfFmarf2IeizBRQTuE2mf4RBiGyQi4eP4QyLt9uiE?purpose=inline\" alt=\"How to Fix &quot;Connection Refused&quot; Error | 3v-Hosting\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/1UsqB5zywSpbKVoPCQOlkgV3CNw6ecEPepXDi7PY3UYpsyrlR4boZmqFq6wxef53MJaTljaarPF-JM0Cs_3UOwT_BhaJKFccOYInTQqllcg1LX4ynFM-WZEB2vBQlz8g7P5kCDcEuec0dLkMWA-9-JyZg9bUgKGdfV_7yTetb18?purpose=inline\" alt=\"What Nobody Told You About File Systems: Understanding FAT32, exFAT &amp; NTFS in Minutes | by Chirangi Dodiya | Medium\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<h1 id=\"h-dashboard-sandboxes\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Dashboard_Sandboxes\"><\/span>Dashboard Sandboxes<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u041e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 TUI.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/YmGwCfl5mHm9YZFo4Oyc6avvn9r_XQ24uC1SG6IZjCYZKxJfYAGdWzBfSnBHC5oZdQ7UNxhKpoQN1rsQNJjgRc6RRdeTZYdTfRZCcQiKm3cWNX2_3EQlpfHCGqE7Ct0KxRnm1ECWVhu0WAsGjp5myzVxLvIDHkMoY0iIu3nnz0U?purpose=inline\" alt=\"Get started | Docker Docs\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/tNhtF3cV-8mVcraZO1jbMV6fFTBluR-ShzTeF4fwmsFW3m99AHmiFlha7hyZLWhWtTr9_413fpw9ryoaJ_BwQLiAw4P1-XcwOcXYe5kKR05FOUmMapn2OMMFciM1aQfqAN06hZ5YVzUIE4Yd45LQHUcxDewVVdDXSlJ2VdjEwRM?purpose=inline\" alt=\"Docker Sandboxes | Sandboxes for Coding Agents | Docker\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CPU;<\/li>\n\n\n\n<li>RAM;<\/li>\n\n\n\n<li>\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b;<\/li>\n\n\n\n<li>Sandbox;<\/li>\n\n\n\n<li>\u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b;<\/li>\n\n\n\n<li>\u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<h1 id=\"h-\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e-sandbox-\u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9D%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE_Sandbox_%D0%BE%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE\"><\/span>\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e Sandbox \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx run --name backend bash\n\nsbx run --name frontend bash\n\nsbx run --name tests bash<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/YmGwCfl5mHm9YZFo4Oyc6avvn9r_XQ24uC1SG6IZjCYZKxJfYAGdWzBfSnBHC5oZdQ7UNxhKpoQN1rsQNJjgRc6RRdeTZYdTfRZCcQiKm3cWNX2_3EQlpfHCGqE7Ct0KxRnm1ECWVhu0WAsGjp5myzVxLvIDHkMoY0iIu3nnz0U?purpose=inline\" alt=\"Get started | Docker Docs\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/R3OnumbocWmcM1VCqnY-b4rlvcGUqa0Om_ihQcthdiFaADw-fpcrnBZ8Xw5mt3pbTlGEBicSdRMPCXU_PwYjHWLwQcIYVj9Nt61O5Kkm28JOD4ShrxG8FFfGla7TBUMmmpEFraKIbE11Q7pW_mjtpD02rAzLKqMGORR5uyZ288c?purpose=inline\" alt=\"Stop Running Agents in Containers. Run Them in MicroVMs with Docker sbx\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/pMOoGOd8Jcg1WC3revE6R1QtCDtNWv3qG1E10ne-NZBPX2zAFAKqTN_JN-sXQYAnwIlGP1dupMQUkaFQUmqZrORisce8ZT8vhzTSG4R4v3-1aK8Sh8N3Q3PgVZbOoQ6eMQFrqOnUOvp6j_zJsaRDgSjjZi1EfcpIxmzz7qha8WY?purpose=inline\" alt=\"Docker Sandboxes \u3067\u5b9f\u73fe\u3059\u308b\u3001\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u5b89\u5168\u306a\u81ea\u5f8b\u5b9f\u884c | DevOps Hub | SB C&amp;S\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx ls<\/code><\/pre>\n\n\n\n<h1 id=\"h-\u0440\u0430\u0431\u043e\u0442\u0430-\u0441-git-\u0432\u043d\u0443\u0442\u0440\u0438-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Git_%D0%B2%D0%BD%D1%83%D1%82%D1%80%D0%B8_Sandbox\"><\/span>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Git \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u0440\u043e\u0435\u043a\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/tWKNXGtZaUZVbjTv23BOuaiYp1M4jjcuhCuoMGmTQlobmqeHKQNlQNphNQ6YNUsiRyXpJjMStalm1p_PJ9ZNWUeh5vIdAlkH8J9QUMjRUp_Di2F5_X_vQRo_ga6_RbEZPrggnbBgyMn8viqoIMfdc6gezoY3M81PeYm-7ic0vuM?purpose=inline\" alt=\"Home | codeblock-web-ide\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/tlF66SI9thxcXofUd7T_ZSZbk0ACVDru7MgHCvmLQhw4STcJxcyVBOUxEIohho0aUeubYmYlheUdI8-7bw5XuuXinE4HhQ-9T16I8YaWTakjxITCd_iTXfaRdmUkIX8XYtmUq2eZNwZiK6kB_s6OyXM5PR2NBAvtENWVQjIwPco?purpose=inline\" alt=\"Docker Sandboxes Tutorial and Cheatsheet\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Git under the hood. Let\u2019s explore some common Git commands\u2026 | by Wassim Chegham | We\u2019ve moved to freeCodeCamp.org\/news | Medium\" src=\"https:\/\/images.openai.com\/static-rsc-4\/PZx2zK35uB9BTj0j4MA65js6ySlDFWQnsbBIDbHVkqaHVUenWGq9iUGoQcXJa3Zri2SAFmdTesUHMqh5DmhmJfR7AdW9QjT-QD_mAhfe9qeK-ABfD77386aspNIgWJhrvrMJytpI4sXQtMMfOSdFTjDTzMX80yctBdAcsYPXedQ?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git status\n\ngit checkout feature\/api\n\ngit commit -m \"New API\"<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0424\u0430\u0439\u043b\u044b \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0445\u043e\u0441\u0442\u0435.<\/p>\n\n\n\n<h1 id=\"h-\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-claude-code-codex-cursor-agent\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_Claude_Code_Codex_Cursor_Agent\"><\/span>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Claude Code \/ Codex \/ Cursor Agent<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u042d\u0442\u043e \u043e\u0434\u043d\u0430 \u0438\u0437 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u0447\u0438\u043d \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f Sandbox.<\/p>\n\n\n\n<h2 id=\"h-\u043f\u043e\u0447\u0435\u043c\u0443\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83\"><\/span>\u041f\u043e\u0447\u0435\u043c\u0443<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AI \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 Dangerous Mode.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/5PblcZLjY6etXFkgYxN3w2dZrbxiAKhtUpny21HKneJWrHpcWAhalWKZ0X18DYtKWsz5cbzsByz0FA2iaAPW1t7cciWHjILeiv81MF-Wv69I9nETIfGgXcnTK0exV99gBUGvvzqu-szAjHqdyet2XF7YjLTeLqamRmPDJi023Bw?purpose=inline\" alt=\"Claude Code can just do things - Dane Grant\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/zSR6DiIx7TT6jRWtfNRBiU-wGl0mYGbJdVClnQDBGnTPH1HkBd-EpWzLUK49i2L7JKZstQ49TXv0wyNpVaxah9-wS8uO4er3qc4VMfh6mpzOkluZvGG_mm-AHYR4RCncA9U2HK3SyrN-QIsgqoc0_dByvcYsyG1dM1opiaiWJFU?purpose=inline\" alt=\"Unlocking the Codex harness: how we built the App Server | OpenAI\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Setup Cursor CLI. You can now try out Power of Cursor CLI\u2026 | by Manjunath Janardhan | Data Science Collective | Medium\" src=\"https:\/\/images.openai.com\/static-rsc-4\/TW1J81Y4hhiJO0OrzyWPmhV8PuxPBV0Adz8U1IA-Da7Bt5o4laL_6n613WH9uFH7kaq5oaqg2hELkV9ipTVF3Km_dc9sW92vPG7er74VCJOG-WMUIgA6UnFF1gnqY8N-xJOx2JxIJhDwIfuSh2caYKfJMvXwyV8fJsNqFsHy8AU?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx run claude<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0438\u043b\u0438<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx run codex<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0438\u043b\u0438<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx run cursor-agent<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u0430\u0433\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c Docker;<\/li>\n\n\n\n<li>\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b;<\/li>\n\n\n\n<li>\u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0444\u0430\u0439\u043b\u044b;<\/li>\n\n\n\n<li>\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c shell-\u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0438 VM.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation+1<\/p>\n\n\n\n<h1 id=\"h-\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-dangerous-mode-\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_Dangerous_Mode_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE\"><\/span>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Dangerous Mode \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/4ZozAmPsrBHLpSOJKdj4WpCuf8FE6RdV_Fl519ojkyb4ETDb2tK4hZQfremYrKguHRFH9P8eDGJPXFQdAAZHVI_GQXLY1-3A_Qf3v6bn1WujSTjuI04TEDA_mjXaLMGvYkruZb42uY-6v4GtDVIoaOeua68zQFYIhwTb6Aij9bg?purpose=inline\" alt=\"AI Agent Security: The Governance Crisis of 'God Mode' Access - Use This AI Blog\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Sandbox \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 <code>--dangerously-skip-permissions<\/code> \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c\u0438 \u0440\u0435\u0436\u0438\u043c\u0430\u043c\u0438 AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/andrewlock.net&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Andrew Lock | .NET Escapades+1<\/p>\n\n\n\n<h1 id=\"h-\u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435-\u0442\u0435\u0441\u0442\u044b-postgresql-redis-rabbitmq\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D1%8B_PostgreSQL_Redis_RabbitMQ\"><\/span>\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b PostgreSQL + Redis + RabbitMQ<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/D3MOQSolWYHvmWEksxHjxRca99-P5mMp1EI7MJv0gqLKRDWrnd-R0lMoJ6ZgjGiRUfrFvg3H93C7qnT6hapI6UT7j_04Hgb871wAm2uLIlqmndziNGiHcxBTCv7ZOtgSCzheSyFkZZuX29z9awu1-26F8HcSIBZEya8OggnM82I?purpose=inline\" alt=\"supervisord - Docker, docker-compose application settings - Server Fault\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/fWEgFwykVTSklHsd16m2vsfgnLOOrdZJnUrUZuKpxrwO70Q77p1e8tCC5Mv6IX_rz1eWyZLfXnAn1KCr4QIkU3sf3fftGKoBjc8tmzS_8PYD14W55O5P21Tc7zYWXErUT_IQHOikFuGZIYIVkoT2UlNfvN1J5xfmiTZUfsbryyM?purpose=inline\" alt=\"Docker For Developers. Docker Django Stack | by Anurag Jain | Medium\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Microservices with Node.js, Docker, and RabbitMQ | by Arjan Aswal | Apr, 2022  | Medium\" src=\"https:\/\/images.openai.com\/static-rsc-4\/dVLF6vtYgqeCIphRsHFSNszXqA8R1iN0nYRdQ1d93opFtiI6lJV5N51vZmIw0n-GiNfoizlmKmI9iur9y2bTFebEQtTHLcpbmeqxRkBx5sAtRlBzMTwvXnAfQKEfFl0wjBp-ewiSntil6U5IadyYmMNQtIPw-avOPvV2e2jbxVk?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>integration:\n  stage: test\n\n  script:\n    - sbx run -- docker compose up -d\n    - sbx run -- pytest tests\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx rm integration<\/code><\/pre>\n\n\n\n<h1 id=\"h-\u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9A%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9\"><\/span>\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Sandbox \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 GitLab Cache.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cache:\n  paths:\n    - .npm\n    - .cache\/pip\n    - .gradle<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/GjkajnPab7TTo5seMPPw2dgm9cRT0M4EMrAT-NXF-zpEHzI1m-VsbJdRY-uxZIkiPXlZ6OvrgGRed-7YYyt0ieACTbu-8DBiCWJjbRPtSVYKw-1ZG7rYKolRh7TkbmaJzaus-E4ovoL4V0bK0LK9ltXW5sAiPnsXsbvrwE1poXI?purpose=inline\" alt=\"How to make your Gitlab CI faster with Gitlab\u2019s Cache | by Petru Rares Sincraian | Medium\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/rQM5miIRybMhrWYuy_egtnDQBozAnHgYqHGQPBrsDQvCoiPkfn90P5Vzv2Bj7mXd3jn6jJExtFNJl0w8g9cq-0UoiSXfH4z4FFrX7lZoDHJ9W2xWXlMvxbWL_uaqah6Sr2d5f5AoviEV8jn7PwoC3HOp0Xjt9pueLhupqJGxQo0?purpose=inline\" alt=\"Advanced Docker \/ BuildKit Caching with 5 tricks to speed up your image builds | AugmentedMind.de\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/images.openai.com\/static-rsc-4\/QBk6sL00LrD9KGBFXCzp05vS9L9nHu6xqvTSHz_k4CGUonAxYNbsSvAJSK5IlxF6TAcrmGyHiFu-rNpuCoVbD4i0s3-HSpeIUcjN6c8-GXvlJY7QH6AIL2JQVcXVUNwo1MD_lgrkhm4xGK4Rgq3AHKwtnwr3bNc5lir4cQ6RVIk?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043d\u0443\u0442\u0440\u0438 Sandbox BuildKit \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 cache layer.<\/p>\n\n\n\n<h1 id=\"h-declarative-sandbox-environment-sbxenv-yaml\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Declarative_Sandbox_Environment_sbxenvyaml\"><\/span>Declarative Sandbox Environment (.sbxenv.yaml)<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u0421\u0430\u043c\u0430\u044f \u0441\u0432\u0435\u0436\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c Docker Sandboxes.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation<\/p>\n\n\n\n<h3 id=\"h-\u043f\u0440\u0438\u043c\u0435\u0440\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80\"><\/span>\u041f\u0440\u0438\u043c\u0435\u0440<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>name: dockerhosting-blog\n\nagent: codex\n\nworkspace:\n  path: .\n\nenv:\n  NODE_ENV: development\n\nports:\n  - 3000:3000\n\nresources:\n  cpu: 4\n  memory: 8Gi\n\nkits:\n  - docker\n  - node\n  - python\n\nregistry:\n  dockerhub: true<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u043a.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx env run<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/_Lalk9_ksIhhD__QMg-qNZSHiJsypKkiCwAKobnE6SUkfF-MHEEs7fLnYQ9bMwNu7JvayXtyko6Zr0EauoX7SAmqrtEmcEEJopu_H8dyhBIMfl3x51KuuUs_WDcByQcCUAvYTyhe9Mj_7iSuacmRvEnOVlj5CEgk_tECoe6OVDI?purpose=inline\" alt=\"YAML Hub - Download and install on Windows | Microsoft Store\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/qewRqQvqkI0FyIRwfPYdsVG1H-Pmnawr56E80v0FDB2QdPDA_K-PLuM8mKpXrXt6wpOkDg2pjfITxN53Tc8G0-AsaPzfh0BaFI7ER12MbYRays7VrEKzOYiAFOjhECGiw4brr45aRM8f_Ff5qDk2hxwfyN_8ZWiW2jsa8zrk4Tc?purpose=inline\" alt=\"Building AI Teams with Docker Sandboxes &amp; Docker Agent | Docker\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"How I Sandboxed My AI Coding Agent Using Docker Sandboxes\" src=\"https:\/\/images.openai.com\/static-rsc-4\/QQHEZlYyeDWxPAnWcBi_5ZyeBJJMHN0b6zJ-pdJTSdWXdsomTlVWPxnvpkBuSImIr4A-YbgIQ_SCURt0X4xMEk64kjyeO4rrx8-nMcxcVTjnVxU3XxtitG9w5Js7Ep9qhXjMFcy6UaSYqo0UFDFmmoADcVKiiblaEzHaUN7jIRM?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0443\u044e Sandbox \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439.<\/p>\n\n\n\n<h1 id=\"h-\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435-cpu-\u0438-\u043f\u0430\u043c\u044f\u0442\u0438\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9E%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_CPU_%D0%B8_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8\"><\/span>\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 CPU \u0438 \u043f\u0430\u043c\u044f\u0442\u0438<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx env create \\\n  --cpu 2 \\\n  --memory 4096<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/U3TYoul_-XoFh96G6_qd_ULhs3qrSUOmf5NiiSuIcrZ2uioquCLj-mz4kq8j2coARL8UfPVIOAUoUo5WW1Zn8CpjgUHKAhHmVHA7_Id8g4AojhlMo495WziqlS1tuX_LkfDRSbLoR8Otf3MVuQ-07rM_iXA9yJnQhZ600e0HjpY?purpose=inline\" alt=\"th\u1eafc m\u1eafc - T\u1eadn d\u1ee5ng laptop c\u0169 l\u00e0m server media t\u1ea1i nh\u00e0 ch\u1ea1y 24\/24 | VOZ\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/qDKKCjnAOd8N7QskB4WY5GY7JXJlaITZfF6ynquVPoSxjIFi7RmXUnYWYoW8frqwZ43IJJjlQlRABt0iz5G62HN_DwowxZmcB0pZCZ4n1hGwFRYGBV8h_wVhBN_6TsxImS4kOeqk7xGXoXenY38Y9DgGcbzFg_unBmGBFcWi_8E?purpose=inline\" alt=\"Master Pro Docker Techniques: A Best Practices Guide for Lean, Secure Containers | by Tayeblagha | Medium\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"PostgreSQL Docker and &quot;No space left on device&quot; - Leon Mika\" src=\"https:\/\/images.openai.com\/static-rsc-4\/oyFPFAqEDmPuLOr1yV4catZeEJQLuHYJaJh4O2CBTn0MaOP8AY7k8j1zIU3SX6wkaRw7VTrkF0SqZD6CP_HvbOs_FLVfObw-yURwZD11lURvZSmh3-wPRxHlNoCrgGRoDF6dWXaumMjzdsVTkEFS5nGLmOxhXdtSR39zFN94-pA?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u0438\u043c\u0438\u0442\u044b \u0434\u043b\u044f CI.<\/p>\n\n\n\n<h1 id=\"h-\u043f\u0440\u043e\u0431\u0440\u043e\u0441-\u043f\u043e\u0440\u0442\u043e\u0432\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%BE%D0%B1%D1%80%D0%BE%D1%81_%D0%BF%D0%BE%D1%80%D1%82%D0%BE%D0%B2\"><\/span>\u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u043f\u043e\u0440\u0442\u043e\u0432<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>ports:\n  - 8080:8080\n  - 5432:5432<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker compose up<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/8vkxoH0fFmK_ZYJioU_R_I1jtH2Lm8kYmCV9VkUIEXKlu86SyESNkFuS2HJn7K-bCQk2dj1x1P6VFr7kIQY3zcw7YBA6o-Hff7eDDMXgILK_FTwM5jb_a3XNQXQOXcyPadO6Q4GaOoe6OTQnzqsd9NuDRPSsK_ZkLnLQQZHss70?purpose=inline\" alt=\"Port mapping or Port publishing in containers | by Jahnavi Reddy Kalathur | devsecops-community | Dec, 2025 | Medium\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/u9XQs_eNBKhHX9qGwZTAl8nXCzoShVrajtQlhpAwhh4vMzXAxjl1dn5_MvvYdiozNuGNwBkKouOd96Nz_Ypg5szgr8yiAYWt16-_3u_8u7kIIl6Xg-r4hl6oXNZK21pESv5zMV8PpIHPBqAgbxQhbLkeTpmZMYqggiPzWJRTbUU?purpose=inline\" alt=\"Create a simple Node.js Hello World Docker Container from scratch | by S3CloudHub | Medium\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Docker : Run a React app in a docker - 2020\" src=\"https:\/\/images.openai.com\/static-rsc-4\/QcQyaqnBaR2XMnkgsLdWszM5v3PvUAA13qByUoBUmA7gOh0Yq2UekPJlA7jKaTYtig-Ti3QLwRBgLqbhIBnUqU_PsrQ-Je_fEUs94quDRgLKNZoRKWLggJpcZst2NyMzaiTlkphKISiIa3c_ZLzrgY_xjN5NcAZ9FJ8q2zyQM0A?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5<\/p>\n\n\n\n<h1 id=\"h-\u0440\u0430\u0431\u043e\u0442\u0430-\u0441-kubernetes\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Kubernetes\"><\/span>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 Kubernetes<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/NE-FEkO1bYamOWUjV2_ygl9yOOnJxkBYpkWYrbfxZN_zHJ3hVTkdJAwe-3xKDblYAu4shBZfjvfMQhA2zPh0_yOqZQd4D-06k8mpSOfkB0hopLzyNAm_mM2UVbaJJaAgKqUN9DrLn1Bj1P6uZRArwZ1Yue9FjBc0-iFCntvvR-c?purpose=inline\" alt=\"Development &amp; Debugging with Kubernetes | Apache Linkis\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/uhTgMSHQKD8h-Lupnq9gR7fqUYjZj6FuSKK5qaY8rowVopLtA59YtGmcA31gRzWVh5wsICclREWZpseGzdARg-kabwYDfVV2pWqieYlL3db5K43_s9PzQC9SvV2TH8FgSzqEXPfQ2k3eLD4wIRWcnKnZy99jUUrxT25sYIj37e8?purpose=inline\" alt=\"Using Kind to develop and test your Kubernetes deployments | by Martin Hodges | Medium\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"CI\/CD Pipelines With Kubernetes in Docker (KinD) | Better Programming\" src=\"https:\/\/images.openai.com\/static-rsc-4\/QaLqJZ8Yb6MD6jLLtGhlETPhD27ZwREKu_f_Et-9BCxUIjlnYRGvWgJ0VWDpzqFewSn5JqJyhTF-mDK0PH-x_uUql_PFPLPahuPPg9_PDcs1S5JeBGzYaxgMVrRAu5zm1zHYFo4eryc9x1uY0fvsBHXv3fcmkcDxflJLnxw6pO0?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412\u043d\u0443\u0442\u0440\u0438 Sandbox \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kind create cluster\n\nkubectl get pods<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0438\u043b\u0438<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>k3d cluster create<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 Kubernetes.<\/p>\n\n\n\n<h1 id=\"h-\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435-buildx-multi-platform\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_Buildx_Multi-Platform\"><\/span>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Buildx Multi-Platform<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/t7ismTYXNBroxSYg4dRwJGVGgoJl_VZFqHC_9pjrkAl83XHH--KkHavB4VTx5sHhHMujsdVh1fMwdnCMG7Otwp9jU053O_8j2dwxsgtW_TjrvCzMTNRA4utiSwR2v-PPdQhIVPgdKZ4Fi7GBTDm2AfmZEIE6wxscxeTjLci7QBk?purpose=inline\" alt=\"ARM\u30b5\u30fc\u30d0\u30fc\u3067Docker\u304c\u52d5\u304b\u306a\u3044\uff1fmulti-arch\u30d3\u30eb\u30c9\u5165\u9580\uff5c\u4e2d\u53e4\u30d1\u30bd\u30b3\u30f3\u5c4b\u306e\u30ca\u30d9\u30ad\u30f3\u30d5\u30a1\u30af\u30c8\u30ea\u30fc\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/mUhTzhI19v9rebuqZKhlggYm7EafHnUnqSf0kUUIhYjiwHZwnUTBhAvEubiqDye6xTDnWkIqUN3zTm9jorHMunxbuQF_IW8t3lPxJA6mOhEcyGjQLhbqeSssbOMds64vJbUD9t2fUSOIFyDp-AFbkt4Oc_R_m__gm7c9Zad3uOw?purpose=inline\" alt=\"Build and Publish Multi-Architecture Docker Images | by Chathuranga Jayanath | Medium\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"Optimizing Multi-Architecture Docker Builds with GitLab CI and Buildx | by Farid Vosoughi | Medium\" src=\"https:\/\/images.openai.com\/static-rsc-4\/lOWaQg3HHXZs26Ufgtu3qUs2TpRYWzH3gSo9vWxZGVhqIDJdZo0v-ATHjk566MtTmgFm8hIl2vdrbMDH-GBSUeYD44f6jzc7tbIAMfy7zAtqr7l2IMCLFfgrzOaid3RIBEBXVgaWShui2fzz2uM44obWW3H_wIy8tntxWRXWGXw?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker buildx create --use\n\ndocker buildx build \\\n --platform linux\/amd64,linux\/arm64 \\\n -t app:latest .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sandbox \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f Buildx.<\/p>\n\n\n\n<h1 id=\"h-gitlab-matrix-build\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"GitLab_Matrix_Build\"><\/span>GitLab Matrix Build<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>build:\n  parallel:\n    matrix:\n      - PLATFORM: linux\/amd64\n      - PLATFORM: linux\/arm64\n\n  script:\n    - sbx run -- docker buildx build \\\n        --platform $PLATFORM .<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/cAXyNrHbDAAZBdfTgptAWe2a2T7ZOH7dDdsW5nSosE7UFE18ijJ966Tlq0pDolQzHNwps7EjFszg_eMSCXJO9AIPROIQG4jZiohGhyfBQjgJawjUvyKBHBwgqbMSN1guux-DrRgbX_l8Flx6kF2p0TuZpULlt9AabJpkFp0H_q4?purpose=inline\" alt=\"Sharing Artifacts Between GitLab CI Matrix Jobs: React Build Example | by Michal Miler | uninterrupted engineering | Medium\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/lOWaQg3HHXZs26Ufgtu3qUs2TpRYWzH3gSo9vWxZGVhqIDJdZo0v-ATHjk566MtTmgFm8hIl2vdrbMDH-GBSUeYD44f6jzc7tbIAMfy7zAtqr7l2IMCLFfgrzOaid3RIBEBXVgaWShui2fzz2uM44obWW3H_wIy8tntxWRXWGXw?purpose=inline\" alt=\"Optimizing Multi-Architecture Docker Builds with GitLab CI and Buildx | by Farid Vosoughi | Medium\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"GitLab CI Pipeline for Go Projects\" src=\"https:\/\/images.openai.com\/static-rsc-4\/F-m-K7vp0NTQ_jsEaioJXMGXeuIDFwBtHyy1IC30k-erW9DW92Ew-uwLPkzvIbDyyBZHjdhmUFF8hs3LoCa5CTRDhbt87hPSGIavq63qneCQ0yRi_OVkvhhbjz4qdFx68F7YihfvgAPIGx1ZkM9PRBObBcw8bfkDN4FYeABjg-s?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<h1 id=\"h-\u043e\u0447\u0438\u0441\u0442\u043a\u0430-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9E%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B0_Sandbox\"><\/span>\u041e\u0447\u0438\u0441\u0442\u043a\u0430 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx ls<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043e\u0434\u043d\u0443.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx rm backend<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0451.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sbx prune<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/ph2O5dhGCfRaRYXe6Lsmj7136UADFPZYhSIjPwwMi_wJQlvby9J1-10qfC_itfWl6rWc2tIld2Z4zjZYU65ymCNLUhQy53mngagx7bLKyAsCBJ4lj8GHpIJhuRUQdnC9GiNpn5QUyBTuavjn3szwvRJdayWym6Qd9AUSNoF1OI0?purpose=inline\" alt=\"How To Clean Up Docker With Prune Commands Guide | Vultr Docs\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/NZvk-nlIibQDaqp0Qj7KOx7VsZb8Qz6KiPEhs-A59IUGZugnxiuvGoW6syR6B1hJi-k6EanlzrgE3w9KppKmQoHcNQYk-yGA-g-wm-bW_TuvFUc9CDdNzk8BieCbtLpYUjAUZrCP0yc1LHnzQL2gv7oVg3tT3gehODzsIHje404?purpose=inline\" alt=\"Docker Cleanup: Learn to Remove Unused Images &amp; Cache!\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/Uo2oEekXdtgFY30z4n8-3TqpOlPZP0J0n_AzbVHP1pnIq7Gn2ZObB2tmobEwSn2xSBngc4ZruQZ6DWJdFsYExc2A4PHk-25sHqz87j3of1rMHRWRbTT8sqg3ds3eIWLJN_1X-VaAKsqBxcIu7fRUnXyRJTn5HS3rW9d284OTK2E?purpose=inline\" alt=\"Docker Prune: 6 Easy Steps To Free Up Disk Space\"\/><\/figure>\n\n\n\n<h1 id=\"h-docker-sandbox-vs-docker-in-docker\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Docker_Sandbox_vs_Docker-in-Docker\"><\/span>Docker Sandbox vs Docker-in-Docker<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/DyYHRdHIJneBVznkKGhUETJdODANc4SipEIblWD04LfrmPmMA_BgZ1memt6XHZ2iL61_bUvKecrYEEZIh9dEYqhrWxFe4c5wyGzkpgYjCrAw9DiUUAUhBRz72uVGP4htrPHYPyWk0xDx3WppWageeLZClooet33r-hvfy07vv_M?purpose=inline\" alt=\"Guide: Docker Inside Docker Containers (DIND) | by Prashanth M | Medium\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/QQHEZlYyeDWxPAnWcBi_5ZyeBJJMHN0b6zJ-pdJTSdWXdsomTlVWPxnvpkBuSImIr4A-YbgIQ_SCURt0X4xMEk64kjyeO4rrx8-nMcxcVTjnVxU3XxtitG9w5Js7Ep9qhXjMFcy6UaSYqo0UFDFmmoADcVKiiblaEzHaUN7jIRM?purpose=inline\" alt=\"How I Sandboxed My AI Coding Agent Using Docker Sandboxes\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"10 Things You Must Know About Docker Sandboxes\" src=\"https:\/\/images.openai.com\/static-rsc-4\/uPRT8g-1_fZyupMkrmASMbk-BBRuyBpxPsGThDBpWLUd9REvkIti9mTmUQiV0Dz1ZBFCYv5i6sHFj0pDF1fLKLorQVjJO8Kt7kmxZWvZYLix3VL1R2UkaTd6T9qsMmNMIohF6e7TYMY7D_nI1aXfE59wpYDAuCNYkgWLnBfQi1E?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Docker-in-Docker<\/td><td>Docker Sandbox<\/td><\/tr><tr><td>\u0422\u0440\u0435\u0431\u0443\u0435\u0442 <code>privileged<\/code>.<\/td><td>\u041d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a Docker Socket.<\/td><\/tr><tr><td>\u041e\u0431\u0449\u0438\u0439 kernel.<\/td><td>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 kernel.<\/td><\/tr><tr><td>\u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 breakout.<\/td><td>MicroVM \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u0445\u043e\u0441\u0442.<\/td><\/tr><tr><td>\u0421\u043b\u043e\u0436\u043d\u0435\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0441\u0435\u0442\u044c.<\/td><td>\u0413\u0438\u0431\u043a\u0438\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0441\u0435\u0442\u0438.<\/td><\/tr><tr><td>\u041c\u0435\u043d\u044c\u0448\u0435 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432.<\/td><td>Secrets \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 id=\"h-\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C\"><\/span>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h3 id=\"h-\u0447\u0442\u043e-\u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442-\u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A7%D1%82%D0%BE_%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D1%82_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B0\"><\/span>\u0427\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/MY2MapBG5LFcrixkBjJfcPsH-CAOfG-eWpzDwEpWOdq9pd_x011XoxRHEU9B6Il0dIeWFb8aHr05TD5qVgW4iuAOTHQF3w3sbgAslydj3LI9SxnQ8VBM5CW7wbLzdATjV783KYRQVRDlvzx3k5eqJxQW5KQKoIyKW_y78z6EfME?purpose=inline\" alt=\"Benchmarking containerd vs. dockerd: Performance, Efficiency, and Scalability | by khaled hadjali | NORMA | Medium\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/4iQ2N8Ko-35po6nGKp-vqwFOO79O_E0qjkt4IftG-y77D_RL9DE-CjA93-fm8ARbaOzpiMcTkj6KAoE6h2O6AovVsBSUd-EjBqWETR6rQfouzCemRB63wViu7dGN5r7zzIqXK_RNB5X4JMGmObTVJLLufGMpHd6AwZesc3lbKhg?purpose=inline\" alt=\"View Performance Dashboard\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/3QAJQ1JMgS-Jk0oI-Rbze1CDL2NUpnd6nJZ-5-st9qkPl0Xf9VTLyiO3JDAEt8WggjTEvmXkwPzVFf_Vz91WcsW_P68zh8MUaLPxnOJnz52mCzXKBCp3D8Wo6zwPYSDeIJRDA7Y3syQ2f1St4WngybXidJiC_ZwZ96gMFmbx9yI?purpose=inline\" alt=\"Docker high CPU consuption - General - Docker Community Forums\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f<\/td><td>\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/td><\/tr><tr><td>\u0417\u0430\u043f\u0443\u0441\u043a Sandbox<\/td><td>\u041e\u0431\u044b\u0447\u043d\u043e 1\u20133 \u0441\u0435\u043a\u0443\u043d\u0434\u044b.<\/td><\/tr><tr><td>Docker Build<\/td><td>\u041f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a BuildKit \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u044d\u0448\u0430.<\/td><\/tr><tr><td>Compose<\/td><td>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.<\/td><\/tr><tr><td>AI Agent<\/td><td>\u0415\u0441\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0430 I\/O.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0438\u0437-\u0437\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0445\u043e\u0442\u044f Docker \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/andrewlock.net&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Andrew Lock | .NET Escapades+1<\/p>\n\n\n\n<h1 id=\"h-\u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439-pipeline-\u0434\u043b\u044f-dockerhosting-ru\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_Pipeline_%D0%B4%D0%BB%D1%8F_dockerhostingru\"><\/span>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 Pipeline \u0434\u043b\u044f dockerhosting.ru<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>stages:\n  - lint\n  - test\n  - build\n  - publish\n\nvariables:\n  DOCKER_BUILDKIT: \"1\"\n\nbefore_script:\n  - sbx login --token $DOCKER_TOKEN\n\nlint:\n  stage: lint\n  script:\n    - sbx run -- npm ci\n    - sbx run -- npm run lint\n\ntests:\n  stage: test\n  script:\n    - sbx run -- docker compose up -d postgres redis\n    - sbx run -- pytest\n    - sbx run -- docker compose down\n\nbuild:\n  stage: build\n  script:\n    - sbx run -- docker build \\\n        -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .\n\npublish:\n  stage: publish\n  script:\n    - sbx run -- docker login \\\n        registry.gitlab.com \\\n        -u $CI_REGISTRY_USER \\\n        -p $CI_REGISTRY_PASSWORD\n\n    - sbx run -- docker push \\\n        $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/o9PcuP2WUUmflsYeSLj3RI3i_wtsMhln3NRCMtdngO4tVACq-pj4y4Xov25pGv6G5cnHGxtXiaeO6qvv8f1ztoTRo57Ar1Owtsdt3gejIKaLt2mcaNG7-74wR-OdpuKK4LlprfkmEZ37jgTUqGusaEQpbJhdMxUNiApdm6DoKC8?purpose=inline\" alt=\"Automating Devops With Gitlab Ci\/cd Pipelines | Detroit Chinatown\"\/><\/figure>\n\n\n\n<h1 id=\"h-\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c-docker-sandboxes\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%91%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C_Docker_Sandboxes\"><\/span>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Docker Sandboxes<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/qewRqQvqkI0FyIRwfPYdsVG1H-Pmnawr56E80v0FDB2QdPDA_K-PLuM8mKpXrXt6wpOkDg2pjfITxN53Tc8G0-AsaPzfh0BaFI7ER12MbYRays7VrEKzOYiAFOjhECGiw4brr45aRM8f_Ff5qDk2hxwfyN_8ZWiW2jsa8zrk4Tc?purpose=inline\" alt=\"Building AI Teams with Docker Sandboxes &amp; Docker Agent | Docker\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/images.openai.com\/static-rsc-4\/bbioV1xVL26Hzg--DGHe6NgDZPcs8AA71FIv9QhVvPYwOZeK1a6P6Wc8epZA8tugfgjWvvSTlJUhmoIKgcCm_O5gjljSrqJV1HpPUhkVyjjW41R7LADDwCZjeuEmbAE-wAu1E-_22kzkFwaWMVIqUUS7qARemjjdGPM34NjDWsA?purpose=inline\" alt=\"liveBook \u00b7 Manning\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><img decoding=\"async\" alt=\"MicroVMs - jmanteau\" src=\"https:\/\/images.openai.com\/static-rsc-4\/sUeIk8s43vEqGaoi6lRnYmYP6fszdxhVIKRXPcDcNdgGbnoBHC8-59spiFhpM-t-NeKHoEOhr1khpyCj27IG9zwYlygsXdJlO4WSYnZWfRksRIAm8iRm3Job0I8tUmAgtCD7z1obXfmB_qNc0xTsuWdipfDTTyf7_4gYWC0h2Jg?purpose=inline\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6<\/p>\n\n\n\n<h3 id=\"h-\u0447\u0442\u043e-\u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442-sandbox\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%A7%D1%82%D0%BE_%D0%B7%D0%B0%D1%89%D0%B8%D1%89%D0%B0%D0%B5%D1%82_Sandbox\"><\/span>\u0427\u0442\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 Sandbox<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c<\/td><td>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/td><\/tr><tr><td>MicroVM<\/td><td>\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u044f\u0434\u0440\u0430 Linux.<\/td><\/tr><tr><td>Namespaces<\/td><td>\u0418\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432.<\/td><\/tr><tr><td>Network Proxy<\/td><td>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443.<\/td><\/tr><tr><td>Secrets<\/td><td>\u0421\u0435\u043a\u0440\u0435\u0442\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 VM.<\/td><\/tr><tr><td>Disposable filesystem<\/td><td>\u0423\u0434\u0430\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker \u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u0435\u0442 Sandboxes \u043a\u0430\u043a \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation+1<\/p>\n\n\n\n<h1 id=\"h-\u043a\u043e\u0433\u0434\u0430-\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c-docker-sandbox-\u0432-gitlab\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%9A%D0%BE%D0%B3%D0%B4%D0%B0_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_Docker_Sandbox_%D0%B2_GitLab\"><\/span>\u041a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Docker Sandbox \u0432 GitLab<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439<\/td><td>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f<\/td><\/tr><tr><td>\u0421\u0431\u043e\u0440\u043a\u0430 Docker-\u043e\u0431\u0440\u0430\u0437\u043e\u0432<\/td><td>\u0414\u0430.<\/td><\/tr><tr><td>BuildKit \/ Buildx<\/td><td>\u0414\u0430.<\/td><\/tr><tr><td>Docker Compose \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0435\u0441\u0442\u044b<\/td><td>\u0414\u0430.<\/td><\/tr><tr><td>AI Agent (Claude, Codex, Cursor)<\/td><td>\u0414\u0430 \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432.<\/td><\/tr><tr><td>\u041d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 Merge Request<\/td><td>\u0414\u0430 \u2014 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438.<\/td><\/tr><tr><td>\u0417\u0430\u043f\u0443\u0441\u043a Kind \/ K3d Kubernetes<\/td><td>\u0414\u0430.<\/td><\/tr><tr><td>\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0431\u043e\u0440\u043a\u0438<\/td><td>\u0418\u043d\u043e\u0433\u0434\u0430 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0439 Docker Engine.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h1 id=\"h-\u0438\u0442\u043e\u0433\u0438\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D1%82%D0%BE%D0%B3%D0%B8\"><\/span>\u0418\u0442\u043e\u0433\u0438<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Sandboxes \u2014 \u044d\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0448\u0430\u0433 \u0432\u043f\u0435\u0440\u0451\u0434 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0441\u0445\u0435\u043c\u0430\u043c\u0438 <code>docker.sock<\/code> \u0438 Docker-in-Docker. \u0412\u043c\u0435\u0441\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0441 \u043e\u0431\u0449\u0438\u043c \u044f\u0434\u0440\u043e\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e microVM \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c Docker Engine, \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 CLI <code>sbx<\/code>. \u0414\u043b\u044f GitLab CI \u044d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c Docker Compose, BuildKit, Kubernetes-in-Docker \u0438 AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 \u0431\u0435\u0437 \u0440\u0438\u0441\u043a\u0430 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438 Runner-\u0445\u043e\u0441\u0442\u0430. \u041d\u043e\u0432\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c\u0438 \u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 <code>.sbxenv.yaml<\/code>, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.google.com\/s2\/favicons?domain=https:\/\/docs.docker.com&amp;sz=32\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Docker Documentation+2<\/p>\n\n\n\n<h2 id=\"h-\u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438-\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435-\u0432-\u0441\u0442\u0430\u0442\u044c\u0435\" class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%D0%98%D0%BB%D0%BB%D1%8E%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5_%D0%B2_%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B5\"><\/span>\u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u044b \u0441\u0445\u0435\u043c\u044b \u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0431\u043b\u043e\u0433\u0435:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Hero-\u0431\u0430\u043d\u043d\u0435\u0440 Docker Sandboxes.<\/li>\n\n\n\n<li>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 Host \u2192 MicroVM \u2192 Docker Engine.<\/li>\n\n\n\n<li>\u0421\u0445\u0435\u043c\u0430 GitLab CI \u2192 Runner \u2192 Sandbox \u2192 Registry.<\/li>\n\n\n\n<li>\u0421\u0445\u0435\u043c\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0438 Network Policy.<\/li>\n\n\n\n<li>BuildKit \/ Buildx \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox.<\/li>\n\n\n\n<li>Docker Compose \u0432\u043d\u0443\u0442\u0440\u0438 Sandbox.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Docker Sandboxes \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Docker 2026 \u0433\u043e\u0434\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u043b\u0438 GitLab CI \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c Docker Engine \u0432\u043d\u0443\u0442\u0440\u0438 microVM. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0438, \u0442\u0435\u0441\u0442\u044b, AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 (Claude Code, Codex, Cursor Agent), Docker Buildx \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. Docker \u043f\u0435\u0440\u0435\u0432\u0451\u043b \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e&hellip;&nbsp;<a href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/\" rel=\"bookmark\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;<span class=\"screen-reader-text\">Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-3971","post","type-post","status-publish","format-standard","hentry","category-1"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443 - DockerHosting.ru<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443\" \/>\n<meta property=\"og:description\" content=\"Docker Sandboxes \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Docker 2026 \u0433\u043e\u0434\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u043b\u0438 GitLab CI \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c Docker Engine \u0432\u043d\u0443\u0442\u0440\u0438 microVM. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0438, \u0442\u0435\u0441\u0442\u044b, AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 (Claude Code, Codex, Cursor Agent), Docker Buildx \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. Docker \u043f\u0435\u0440\u0435\u0432\u0451\u043b \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e&hellip;&nbsp;\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/\" \/>\n<meta property=\"og:site_name\" content=\"DockerHosting.ru\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-27T02:55:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-27T02:59:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png\" \/>\n\t<meta property=\"og:image:width\" content=\"923\" \/>\n\t<meta property=\"og:image:height\" content=\"520\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"27 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/\"},\"author\":{\"name\":\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/person\\\/065a7b9ff0b6c2ae566eb818352031b4\"},\"headline\":\"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443\",\"datePublished\":\"2026-08-27T02:55:44+00:00\",\"dateModified\":\"2026-08-27T02:59:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/\"},\"wordCount\":1009,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/image-13.png\",\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/\",\"name\":\"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443 - DockerHosting.ru\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/image-13.png\",\"datePublished\":\"2026-08-27T02:55:44+00:00\",\"dateModified\":\"2026-08-27T02:59:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/image-13.png\",\"contentUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/image-13.png\",\"width\":923,\"height\":520},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/\",\"name\":\"\u0411\u043b\u043e\u0433 DockerHosting.ru\",\"description\":\"\u0411\u043b\u043e\u0433 \u0445\u043e\u0441\u0442\u0438\u043d\u0433-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b DockerHosting.ru\",\"publisher\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#organization\",\"name\":\"DockerHosting.ru\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-dockerhosting_cl.png\",\"contentUrl\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/cropped-dockerhosting_cl.png\",\"width\":200,\"height\":36,\"caption\":\"DockerHosting.ru\"},\"image\":{\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/#\\\/schema\\\/person\\\/065a7b9ff0b6c2ae566eb818352031b4\",\"name\":\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g\",\"caption\":\"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\"},\"sameAs\":[\"https:\\\/\\\/dockerhosting.ru\\\/blog\"],\"url\":\"https:\\\/\\\/dockerhosting.ru\\\/blog\\\/author\\\/aleks\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443 - DockerHosting.ru","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/","og_locale":"ru_RU","og_type":"article","og_title":"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443","og_description":"Docker Sandboxes \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Docker 2026 \u0433\u043e\u0434\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u043b\u0438 GitLab CI \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c Docker Engine \u0432\u043d\u0443\u0442\u0440\u0438 microVM. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u0431\u043e\u0440\u043a\u0438, \u0442\u0435\u0441\u0442\u044b, AI-\u0430\u0433\u0435\u043d\u0442\u043e\u0432 (Claude Code, Codex, Cursor Agent), Docker Buildx \u0438 \u043b\u044e\u0431\u044b\u0435 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0435\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0445\u043e\u0441\u0442\u043e\u0432\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435. Docker \u043f\u0435\u0440\u0435\u0432\u0451\u043b \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e&hellip;&nbsp;\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 &raquo;Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443","og_url":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/","og_site_name":"DockerHosting.ru","article_published_time":"2026-08-27T02:55:44+00:00","article_modified_time":"2026-08-27T02:59:07+00:00","og_image":[{"width":923,"height":520,"url":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png","type":"image\/png"}],"author":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"27 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#article","isPartOf":{"@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/"},"author":{"name":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/person\/065a7b9ff0b6c2ae566eb818352031b4"},"headline":"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443","datePublished":"2026-08-27T02:55:44+00:00","dateModified":"2026-08-27T02:59:07+00:00","mainEntityOfPage":{"@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/"},"wordCount":1009,"commentCount":0,"publisher":{"@id":"https:\/\/dockerhosting.ru\/blog\/#organization"},"image":{"@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png","inLanguage":"ru-RU","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/","url":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/","name":"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443 - DockerHosting.ru","isPartOf":{"@id":"https:\/\/dockerhosting.ru\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#primaryimage"},"image":{"@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png","datePublished":"2026-08-27T02:55:44+00:00","dateModified":"2026-08-27T02:59:07+00:00","breadcrumb":{"@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#primaryimage","url":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png","contentUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2026\/08\/image-13.png","width":923,"height":520},{"@type":"BreadcrumbList","@id":"https:\/\/dockerhosting.ru\/blog\/docker-sandboxes-gitlab-ci-kak-zapuskat-polnostyu-izolirovannye-docker-pesochniczy-v-gitlab-v-2026-godu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/dockerhosting.ru\/blog\/"},{"@type":"ListItem","position":2,"name":"Docker Sandboxes + GitLab CI: \u043a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 Docker-\u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 GitLab \u0432 2026 \u0433\u043e\u0434\u0443"}]},{"@type":"WebSite","@id":"https:\/\/dockerhosting.ru\/blog\/#website","url":"https:\/\/dockerhosting.ru\/blog\/","name":"\u0411\u043b\u043e\u0433 DockerHosting.ru","description":"\u0411\u043b\u043e\u0433 \u0445\u043e\u0441\u0442\u0438\u043d\u0433-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b DockerHosting.ru","publisher":{"@id":"https:\/\/dockerhosting.ru\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerhosting.ru\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/dockerhosting.ru\/blog\/#organization","name":"DockerHosting.ru","url":"https:\/\/dockerhosting.ru\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/11\/cropped-dockerhosting_cl.png","contentUrl":"https:\/\/dockerhosting.ru\/blog\/wp-content\/uploads\/2024\/11\/cropped-dockerhosting_cl.png","width":200,"height":36,"caption":"DockerHosting.ru"},"image":{"@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dockerhosting.ru\/blog\/#\/schema\/person\/065a7b9ff0b6c2ae566eb818352031b4","name":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/secure.gravatar.com\/avatar\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2691b71be8ab410fdd0c9e486970ee8d7ed141139a26f7753ca3ddf5a369bae0?s=96&d=mm&r=g","caption":"\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440"},"sameAs":["https:\/\/dockerhosting.ru\/blog"],"url":"https:\/\/dockerhosting.ru\/blog\/author\/aleks\/"}]}},"_links":{"self":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts\/3971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/comments?post=3971"}],"version-history":[{"count":3,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts\/3971\/revisions"}],"predecessor-version":[{"id":3978,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/posts\/3971\/revisions\/3978"}],"wp:attachment":[{"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/media?parent=3971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/categories?post=3971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dockerhosting.ru\/blog\/wp-json\/wp\/v2\/tags?post=3971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}