{"id":52293,"date":"2019-11-05T00:00:00","date_gmt":"2019-11-04T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl"},"modified":"2020-02-18T13:59:59","modified_gmt":"2020-02-18T10:59:59","slug":"razrabotka-s-docker-na-windows-subsystem-for-linux-wsl","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl","title":{"rendered":"Desenvolvimento com Docker no Windows Subsystem for Linux (WSL)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Desenvolvimento com Docker no Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/8b57f485d965eda4f8179ce6a72da724.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Para uma opera\u00e7\u00e3o completa do projeto no docker no WSL, \u00e9 necess\u00e1rio instalar o WSL 2. No momento da reda\u00e7\u00e3o desta nota, seu uso \u00e9 poss\u00edvel apenas no \u00e2mbito da participa\u00e7\u00e3o no programa de avalia\u00e7\u00e3o do Windows (o WSL 2 est\u00e1 dispon\u00edvel nas compila\u00e7\u00f5es 18932 e superiores). Tamb\u00e9m \u00e9 importante mencionar que \u00e9 necess\u00e1ria a vers\u00e3o Windows 10 Pro para a instala\u00e7\u00e3o e configura\u00e7\u00e3o do Docker Desktop.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Primeiros passos<\/h3>\n<p><\/p>\n<p>Ap\u00f3s ingressar no programa de pr\u00e9-avalia\u00e7\u00e3o e instalar as atualiza\u00e7\u00f5es, \u00e9 necess\u00e1rio instalar a distribui\u00e7\u00e3o Linux (neste exemplo, Ubuntu 18.04) e o Docker Desktop com WSL 2 Tech Preview:<\/p>\n<p><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/docker-for-windows\/wsl-tech-preview\/\">Docker Desktop WSL 2 Tech Preview<\/a><\/noindex> <\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/store\/productId\/9N9TNGVNDL3Q\">Ubuntu 18.04 da Windows Store<\/a><\/noindex><\/li>\n<\/ol>\n<p><\/p>\n<p>Em ambos os casos, siga todas as instru\u00e7\u00f5es de instala\u00e7\u00e3o e configura\u00e7\u00e3o.<\/p>\n<p><\/p>\n<h3>Instala\u00e7\u00e3o da distribui\u00e7\u00e3o Ubuntu 18.04<\/h3>\n<p><\/p>\n<p>Antes de iniciar o Ubuntu 18.04, \u00e9 necess\u00e1rio habilitar o WSL do Windows e a Plataforma de M\u00e1quinas Virtuais do Windows executando dois comandos no PowerShell:<\/p>\n<p><\/p>\n<ol>\n<li><code>Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux<\/code> (requer reiniciar o computador)<\/li>\n<li><code>Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform<\/code><\/li>\n<\/ol>\n<p><\/p>\n<p>Depois, \u00e9 necess\u00e1rio garantir que estaremos usando o WSL v2. Para isso, no terminal WSL ou PowerShell, execute os comandos a seguir sequencialmente:<\/p>\n<p><\/p>\n<ul>\n<li><code>wsl -l -v<\/code> \u2014 verificamos qual vers\u00e3o est\u00e1 instalada atualmente. Se for 1, seguimos para o pr\u00f3ximo passo<\/li>\n<li><code>wsl --set-version ubuntu 18.04 2<\/code> \u2014 para atualizar para a vers\u00e3o 2<\/li>\n<li><code>wsl -s ubuntu 18.04<\/code> \u2014 definimos o Ubuntu 18.04 como distribui\u00e7\u00e3o padr\u00e3o<\/li>\n<\/ul>\n<p><\/p>\n<p>Agora podemos iniciar o Ubuntu 18.04, realizar a configura\u00e7\u00e3o (definir nome de usu\u00e1rio e senha).<\/p>\n<p><\/p>\n<h3>Instala\u00e7\u00e3o do Docker Desktop<\/h3>\n<p><\/p>\n<p>Durante a instala\u00e7\u00e3o, siga as instru\u00e7\u00f5es. O computador solicitar\u00e1 reiniciar ap\u00f3s a instala\u00e7\u00e3o e ao primeiro in\u00edcio para habilitar o Hyper-V (devido ao apoio do qual \u00e9 necess\u00e1ria a vers\u00e3o Windows 10 Pro).<\/p>\n<p><\/p>\n<p><b>Importante!<\/b> Se o Docker Desktop informar sobre um bloqueio por parte do firewall, v\u00e1 para as configura\u00e7\u00f5es do antiv\u00edrus e fa\u00e7a as seguintes altera\u00e7\u00f5es nas regras do firewall (neste exemplo, estamos usando o Kaspersky Total Security como antiv\u00edrus):<\/p>\n<p><\/p>\n<ul>\n<li>Acesse Configura\u00e7\u00f5es -&gt; Prote\u00e7\u00e3o -&gt; Firewall -&gt; Configurar regras de pacote -&gt; Local Service (TCP) -&gt; Alterar<\/li>\n<li>Remova a porta 445 da lista de portas locais<\/li>\n<li>Salvar<\/li>\n<\/ul>\n<p><\/p>\n<p>Ap\u00f3s iniciar o Docker Desktop, selecione a op\u00e7\u00e3o WSL 2 Tech Preview em seu menu de contexto.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desenvolvimento com Docker no Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/ecd4557904a45f98f2b9147a4e28e23a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p>Na janela que se abre, clique no bot\u00e3o Iniciar.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desenvolvimento com Docker no Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/5a0fa02cd1fd5358294a1de8ded32e9f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p>Agora, o docker e o docker-compose est\u00e3o dispon\u00edveis dentro da distribui\u00e7\u00e3o WSL.<\/p>\n<p><\/p>\n<p><b>Importante!<\/b> No Docker Desktop atualizado, agora h\u00e1 uma aba com WSL dentro da janela de configura\u00e7\u00f5es. L\u00e1, a suporte para WSL \u00e9 ativada.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desenvolvimento com Docker no Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/31c015662c95156ddb2aa7a1a4de5f57.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><b>Importante!<\/b> Al\u00e9m de marcar a ativa\u00e7\u00e3o do WSL, voc\u00ea tamb\u00e9m precisa ativar sua distribui\u00e7\u00e3o WSL na aba Recursos -&gt; Integra\u00e7\u00e3o WSL.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desenvolvimento com Docker no Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/89a95a3bbf12201de13f6d80797e566c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Iniciar<\/h3>\n<p><\/p>\n<p>A surpresa foram os muitos problemas que surgiram ao tentar levantar os cont\u00eaineres de projetos localizados no diret\u00f3rio do usu\u00e1rio do Windows.<\/p>\n<p><\/p>\n<p>Erros de diversos tipos, relacionados \u00e0 execu\u00e7\u00e3o de scripts bash (que geralmente s\u00e3o iniciados durante a constru\u00e7\u00e3o dos cont\u00eaineres para instala\u00e7\u00e3o das bibliotecas e distribui\u00e7\u00f5es necess\u00e1rias) e outras coisas comuns no desenvolvimento em Linux, fizeram-me refletir sobre a possibilidade de hospedar projetos diretamente no diret\u00f3rio do usu\u00e1rio Ubuntu 18.04.<\/p>\n<p>.<\/p>\n<p>Da solu\u00e7\u00e3o do problema anterior surge a seguinte quest\u00e3o: como trabalhar com os arquivos do projeto atrav\u00e9s do IDE instalado no Windows. Como 'melhor pr\u00e1tica', encontrei apenas uma op\u00e7\u00e3o \u2014 trabalhar atrav\u00e9s do VSCode (embora eu seja f\u00e3 do PhpStorm).<\/p>\n<p><\/p>\n<p>Ap\u00f3s baixar e instalar o VSCode, \u00e9 imprescind\u00edvel instalar a extens\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/aka.ms\/vscode-remote\/download\/extension\">Remote Development extension pack<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Depois de instalar a extens\u00e3o mencionada, basta executar o comando <code>code .<\/code> no diret\u00f3rio do projeto com o VSCode aberto.<\/p>\n<p><\/p>\n<p>Neste exemplo, para acessar os cont\u00eaineres atrav\u00e9s do navegador, o nginx \u00e9 necess\u00e1rio. Instal\u00e1-lo atrav\u00e9s de <code>sudo apt-get install nginx<\/code> n\u00e3o foi t\u00e3o simples. Primeiramente, foi necess\u00e1rio atualizar a distribui\u00e7\u00e3o WSL executando <code>sudo apt update &amp;&amp; sudo apt dist-upgrade<\/code>, e s\u00f3 depois disso iniciar a instala\u00e7\u00e3o do nginx.<\/p>\n<p><\/p>\n<p><b>Importante!<\/b> Todos os dom\u00ednios locais n\u00e3o s\u00e3o registrados no arquivo \/etc\/hosts da distribui\u00e7\u00e3o Linux (ele nem existe l\u00e1), mas no arquivo hosts (geralmente localizado em C:WindowsSystem32driversetchosts) do Windows 10.<\/p>\n<p><\/p>\n<h4>Fontes<\/h4>\n<p><\/p>\n<p>Uma descri\u00e7\u00e3o mais detalhada de cada passo pode ser encontrada aqui:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/code.visualstudio.com\/docs\/remote\/wsl\">https:\/\/code.visualstudio.com\/docs\/remote\/wsl<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/docker-for-windows\/wsl-tech-preview\/\">https:\/\/docs.docker.com\/docker-for-windows\/wsl-tech-preview\/<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/docker-for-windows\/\">https:\/\/docs.docker.com\/docker-for-windows\/<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/docs.microsoft.com\/ru-ru\/windows\/wsl\/wsl2-install\">https:\/\/docs.microsoft.com\/ru-ru\/windows\/wsl\/wsl2-install<\/a><\/noindex><\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/474346\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c \u043d\u0430 docker&#8217;\u0435 \u0432 WSL \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 WSL 2. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0437\u0430\u043c\u0435\u0442\u043a\u0438 \u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0438 Windows (WSL 2 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 18932 \u0438 \u0432\u044b\u0448\u0435). \u0422\u0430\u043a \u0436\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u043e\u0438\u0442 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Windows 10 Pro \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Docker Desktop. \u041f\u0435\u0440\u0432\u044b\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52293","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441 Docker \u043d\u0430 Windows Subsystem for Linux (WSL) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-04T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Desenvolvimento com Docker no Windows Subsystem for Linux (WSL) | ProHoster","description":"Para um funcionamento completo com.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441 Docker \u043d\u0430 Windows Subsystem for Linux (WSL) | ProHoster","og:description":"\u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441.","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-04T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52293","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 03:10:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:56:47","updated":"2026-01-24 03:10:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/52293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=52293"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/52293\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=52293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=52293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=52293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}