{"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\/es\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl","title":{"rendered":"Desarrollo con Docker en Windows Subsystem for Linux (WSL)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Desarrollo con Docker en Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/8b57f485d965eda4f8179ce6a72da724.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Para trabajar correctamente con un proyecto en Docker en WSL, es necesario instalar WSL 2. En el momento de escribir esta nota, su uso es posible solo en el marco de la participaci\u00f3n en el programa de evaluaci\u00f3n anticipada de Windows (WSL 2 est\u00e1 disponible en las compilaciones 18932 y superiores). Tambi\u00e9n vale la pena mencionar que se necesita la versi\u00f3n Windows 10 Pro para instalar y configurar Docker Desktop.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Primeros pasos<\/h3>\n<p><\/p>\n<p>Despu\u00e9s de unirse al programa de evaluaci\u00f3n anticipada e instalar las actualizaciones, es necesario instalar una distribuci\u00f3n de Linux (en este ejemplo se usa Ubuntu 18.04) y Docker Desktop con 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 de Windows Store<\/a><\/noindex><\/li>\n<\/ol>\n<p><\/p>\n<p>En ambos casos, seguimos todas las instrucciones de instalaci\u00f3n y configuraci\u00f3n.<\/p>\n<p><\/p>\n<h3>Instalaci\u00f3n de la distribuci\u00f3n Ubuntu 18.04<\/h3>\n<p><\/p>\n<p>Antes de iniciar Ubuntu 18.04, se debe habilitar WSL de Windows y la Plataforma de M\u00e1quina Virtual de Windows ejecutando dos comandos en PowerShell:<\/p>\n<p><\/p>\n<ol>\n<li><code>Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux<\/code> (requiere reiniciar la computadora)<\/li>\n<li><code>Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform<\/code><\/li>\n<\/ol>\n<p><\/p>\n<p>Luego, es necesario asegurarnos de que estaremos usando WSL v2. Para ello, en el terminal de WSL o PowerShell ejecutamos secuencialmente los siguientes comandos:<\/p>\n<p><\/p>\n<ul>\n<li><code>wsl -l -v<\/code> \u2014 verificamos qu\u00e9 versi\u00f3n est\u00e1 instalada en este momento. Si es 1, seguimos adelante con la lista.<\/li>\n<li><code>wsl --set-version ubuntu 18.04 2<\/code> \u2014 para actualizar a la versi\u00f3n 2.<\/li>\n<li><code>wsl -s ubuntu 18.04<\/code> \u2014 configuramos Ubuntu 18.04 como la distribuci\u00f3n predeterminada.<\/li>\n<\/ul>\n<p><\/p>\n<p>Ahora se puede iniciar Ubuntu 18.04 y proceder con la configuraci\u00f3n (ingresar el nombre de usuario y la contrase\u00f1a).<\/p>\n<p><\/p>\n<h3>Instalaci\u00f3n de Docker Desktop<\/h3>\n<p><\/p>\n<p>Durante el proceso de instalaci\u00f3n, seguimos las indicaciones. La computadora requerir\u00e1 reinicio despu\u00e9s de la instalaci\u00f3n y al primer inicio para habilitar Hyper-V (debido al soporte, se requiere la versi\u00f3n de Windows 10 Pro).<\/p>\n<p><\/p>\n<p><b>\u00a1Importante!<\/b> Si Docker Desktop informa de un bloqueo por parte del firewall, vayamos a la configuraci\u00f3n del antivirus y realicemos los siguientes cambios en las reglas del firewall (en este ejemplo, se utiliza Kaspersky Total Security como antivirus):<\/p>\n<p><\/p>\n<ul>\n<li>Accedemos a Configuraci\u00f3n -&gt; Protecci\u00f3n -&gt; Cortafuegos -&gt; Configurar reglas de paquetes -&gt; Servicio local (TCP) -&gt; Cambiar<\/li>\n<li>De la lista de puertos locales, eliminamos el puerto 445<\/li>\n<li>Guardar<\/li>\n<\/ul>\n<p><\/p>\n<p>Despu\u00e9s de iniciar Docker Desktop, en su men\u00fa contextual seleccionamos la opci\u00f3n WSL 2 Tech Preview.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desarrollo con Docker en Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/ecd4557904a45f98f2b9147a4e28e23a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p>En la ventana abierta, hacemos clic en el bot\u00f3n Iniciar.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desarrollo con Docker en Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/5a0fa02cd1fd5358294a1de8ded32e9f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p>Ahora Docker y Docker Compose est\u00e1n disponibles dentro de la distribuci\u00f3n WSL.<\/p>\n<p><\/p>\n<p><b>\u00a1Importante!<\/b> En la versi\u00f3n actualizada de Docker Desktop, ahora hay una pesta\u00f1a con WSL dentro de la ventana de configuraci\u00f3n. All\u00ed se habilita el soporte para WSL.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desarrollo con Docker en 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>\u00a1Importante!<\/b> Adem\u00e1s de activar WSL, tambi\u00e9n es necesario habilitar su distribuci\u00f3n WSL en la pesta\u00f1a Recursos -&gt; Integraci\u00f3n WSL.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Desarrollo con Docker en Windows Subsystem for Linux (WSL)\" src=\"\/wp-content\/uploads\/2019\/11\/89a95a3bbf12201de13f6d80797e566c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Lanzamiento<\/h3>\n<p><\/p>\n<p>Fue sorprendente los muchos problemas que surgieron al intentar levantar los contenedores de proyectos ubicados en el directorio del usuario de Windows.<\/p>\n<p><\/p>\n<p>Errores de diversa \u00edndole relacionados con la ejecuci\u00f3n de scripts de bash (que normalmente se inician al construir contenedores para instalar bibliotecas y distribuciones necesarias) y otras cosas comunes en el desarrollo en Linux, me hicieron reflexionar sobre la posibilidad de alojar proyectos directamente en el directorio del usuario de Ubuntu 18.04.<\/p>\n<p>.<\/p>\n<p>La soluci\u00f3n al problema anterior da pie a la siguiente: c\u00f3mo trabajar con los archivos del proyecto a trav\u00e9s de un IDE instalado en Windows. Como 'mejor pr\u00e1ctica', solo encontr\u00e9 una opci\u00f3n: trabajar a trav\u00e9s de VSCode (aunque soy fan de PhpStorm).<\/p>\n<p><\/p>\n<p>Despu\u00e9s de descargar e instalar VSCode, aseg\u00farate de instalar la extensi\u00f3n <noindex><a rel=\"nofollow\" href=\"https:\/\/aka.ms\/vscode-remote\/download\/extension\">Remote Development extension pack<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Despu\u00e9s de instalar la extensi\u00f3n mencionada, simplemente ejecuta el comando <code>code .<\/code> en el directorio del proyecto con VSCode en funcionamiento.<\/p>\n<p><\/p>\n<p>En este ejemplo, se necesita nginx para acceder a los contenedores a trav\u00e9s del navegador. Instalarlo a trav\u00e9s de <code>sudo apt-get install nginx<\/code> no result\u00f3 tan sencillo. Primero, se necesit\u00f3 actualizar la distribuci\u00f3n de WSL ejecutando <code>sudo apt update &amp;&amp; sudo apt dist-upgrade<\/code>, y solo despu\u00e9s de esto proceder a la instalaci\u00f3n de nginx.<\/p>\n<p><\/p>\n<p><b>\u00a1Importante!<\/b> Todos los dominios locales no se registran en el archivo \/etc\/hosts de la distribuci\u00f3n de Linux (ni siquiera existe all\u00ed), sino en el archivo hosts (normalmente ubicado en C:WindowsSystem32driversetchosts) de Windows 10.<\/p>\n<p><\/p>\n<h4>Fuentes<\/h4>\n<p><\/p>\n<p>Una descripci\u00f3n m\u00e1s detallada de cada paso se puede encontrar aqu\u00ed:<\/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>Fuente: <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.2 - 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\/es\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47Desarrollo con Docker en Windows Subsystem for Linux (WSL) | ProHoster","description":"Para un funcionamiento completo con.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/razrabotka-s-docker-na-windows-subsystem-for-linux-wsl","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/52293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=52293"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/52293\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=52293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=52293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=52293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}