The Codest
  • Sobre nós
  • Serviços
    • Desenvolvimento de software
      • Desenvolvimento de front-end
      • Desenvolvimento backend
    • Staff Augmentation
      • Programadores Frontend
      • Programadores de back-end
      • Engenheiros de dados
      • Engenheiros de nuvem
      • Engenheiros de GQ
      • Outros
    • Aconselhamento
      • Auditoria e consultoria
  • Indústrias
    • Fintech e Banca
    • E-commerce
    • Adtech
    • Tecnologia da saúde
    • Fabrico
    • Logística
    • Automóvel
    • IOT
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • A nossa equipa
  • Case Studies
  • Saber como
    • Blogue
    • Encontros
    • Webinars
    • Recursos
Carreiras Entrar em contacto
  • Sobre nós
  • Serviços
    • Desenvolvimento de software
      • Desenvolvimento de front-end
      • Desenvolvimento backend
    • Staff Augmentation
      • Programadores Frontend
      • Programadores de back-end
      • Engenheiros de dados
      • Engenheiros de nuvem
      • Engenheiros de GQ
      • Outros
    • Aconselhamento
      • Auditoria e consultoria
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • A nossa equipa
  • Case Studies
  • Saber como
    • Blogue
    • Encontros
    • Webinars
    • Recursos
Carreiras Entrar em contacto
Seta para trás VOLTAR
2020-01-21
Desenvolvimento de software

Caminho indolor para a WSL 2 com o Docker

Lukasz Kolko

Ao introduzir o Windows Subsystem for Linux (WSL), a Microsoft deu a oportunidade aos programadores de executarem um ambiente GNU/Linux diretamente no Windows, sem modificações, sem a sobrecarga de uma máquina virtual. Esta é uma óptima solução porque muitos programadores utilizam um sistema para programação e outro para entretenimento.

A WSL ainda está a ser desenvolvida, mas é atualmente adequada para desenvolvimento de softwaretanto na primeira como na segunda versão. Ao percorrer os problemas e as questões colocadas na Internet, a maior parte deles parece dizer respeito à integração do WSL com Dockerespecialmente quando se trata de atualizar da WSL 1 para a WSL 2.

Este artigo irá dissipar todas as ambiguidades e ajudá-lo a passar por esse processo sem dor. Se não tiver a WSL 1 e quiser ter a WSL 2 com o Docker, pode saltar diretamente para o último capítulo.

O que é que vai ganhar?

- O kernel Linux estável mais recente (ajustado pela Microsoft). WSL 1 tem uma interface de kernel compatível com Linux sem o kernel Linux código.

- Maior desempenho de IO de ficheiros. Até 20x mais rápido em comparação com a WSL 1 ao descompactar um tarball compactado, cerca de 2-5x mais rápido ao usar clone do git, npm install e fazer em vários projectos.

- Compatibilidade total com chamadas de sistema. Os binários do Linux usam chamadas de sistema para executar muitas funções, como acessar arquivos, solicitar memória, criar processos e muito mais. Enquanto a WSL 1 usava uma camada de tradução construída pela WSL equipaO WSL 2 inclui o seu próprio kernel Linux com total compatibilidade de chamadas de sistema.

- Ficheiros armazenados numa partição ext4 nativa num disco virtual.

- Maneira muito fácil de integrar com o Docker.

Penso que, para a maioria dos utilizadores, o desempenho de IO de ficheiros e a fácil integração com o docker parecem ser razões suficientes.

Vamos lá!

Presumo que tenha a versão estável mais recente do Windows 10 Pro. Atualmente, é a versão 1909.

Junte-se aos especialistas do Windows

Atualmente, a WSL 2 só está disponível para o Windows 10 no anel lento dos utilizadores internos. Tanto quanto sei, a versão estável deverá estar disponível em maio de 2020 (lançamento 20H1). O anel lento é uma solução bastante segura para os utilizadores que pretendem ter novas funcionalidades um pouco mais cedo, já pré-testadas pelos utilizadores do anel rápido. O anel lento recebe actualizações do sistema até uma ou duas vezes por mês. Pode ler sobre as alterações da versão interna no documento da Microsoft chamado Centro de voo.

Para aderir, basta seguir a página oficial da Microsoft guia. É muito fácil e demora cerca de 15 minutos sem perder quaisquer dados pessoais.

Atualização da WSL 1 para a WSL 2

Seguir a página oficial guia. Também é muito fácil, um par de comandos shell e aqui está! Dependendo da extensão do seu Linux sob a WSL 1, isso pode levar algum tempo. Infelizmente, a Microsoft não colocou uma barra de progresso ou informações sobre o tempo necessário, portanto, seja paciente.

Limpeza

Esta é a parte mais importante para a cooperação adequada entre a WSL 2 e o Docker. Após a atualização para a WSL 2, muitos utilizadores estão a tentar forçar a sua versão do Docker a cooperar sem perceberem que a equipa do Docker, especialmente para a WSL 2, preparou uma versão que fará tudo para nós. Este é o último lançamento da versão Docker Edge (seu nome beta) - "Docker Desktop WSL 2 backend". Esta versão, 2.1.7.0, está bem polida e é uma candidata para a próxima versão estável.

Os utilizadores que não tinham a WSL 1 ou que acabaram de instalar uma nova versão da WSL 2 têm sorte e podem passar imediatamente para o último capítulo.

Se não limpou o seu Docker (de todo ou corretamente) e não instalou a versão adequada do Docker para a WSL 2, poderá encontrar alguns erros comuns, por exemplo, Não é possível ligar ao daemon do Docker em tcp://localhost:2375", "O daemon do Docker está a ser executado, etc. Na maioria dos casos, perderá tempo se não souber que deve adotar uma nova abordagem para tentar resolver estes erros. Para isso, é preciso primeiro remover completamente o Docker do WSL e do Windows, o que não é um passo óbvio.

O exemplo mais comum de restos não removidos é a antiga abordagem do Docker para definir a variável de ambiente DOCKER_HOST=tcp://localhost:2375 na WSL 1 para cooperar com a opção Windows Docker Expor o daemon em tcp://localhost:2375 sem TLS.

Como remover completamente o Docker do WSL (Ubuntu)?

  1. Como a versão oficial do Docker documentos dizer:

sudo apt-get remove docker docker-engine docker.io containerd runc

Pode certamente acrescentar-se a esta lista docker-ce e docker-ce-cli.

  1. Identifique todos os pacotes do docker que você tem com dpkg -l | grep -i docker e remover se ainda existir algum.
  2. Remover todos os resíduos:
sudo rm -rf /var/lib/docker /etc/docker /etc/apparmor.d/docker /var/run/docker.sock /usr/local/bin/docker-compose /etc/docker

sudo groupdel docker ~/.docker

  1. Este passo é para utilizadores avançados, por isso tenha cuidado. Provavelmente não precisa de o fazer.

Procurar tudo doca As ocorrências de palavras e eliminar aquelas de que tem a certeza.

sudo find / -name "*docker*"

  1. Verifique o conteúdo de todos os ficheiros abaixo para doca ocorrências como ex. variável de ambiente DOCKER_HOST=tcp://localhost:2375.

Pode editar estes ficheiros com o editor Nano, nano ~/.bashrcou Visual Studio Code, código ~/.bashrc.

~/.bashrc
~/.bash_aliases
~/.bash_profile
~/.bash_login
~/.perfil
/etc/bash.bashrc
/etc/profile

Como remover completamente o Docker do Windows?

  1. Desinstalar de forma normal com o Windows Aplicações e funcionalidades painel.
  2. Remover todos os itens abaixo, se existirem:
C:Arquivos de ProgramasDocker
C:ProgramaDadosDockerDesktop
C:Utilizadores[NOME_DE_USUÁRIO].docker
C:Utilizadores]AppDataLocalDocker
C:Utilizadores[NOME_DE_USUÁRIO]AppDataRoamingDocker
C:Users[USERNAME]AppDataRoamingDocker Desktop

O que é que se segue?

Instale a versão mais recente do Docker Desktop Edge a partir de aqui e seguir os passos do sítio oficial documentos. Tudo se resume a alguns cliques.

Se tudo correr bem, deverá ter a sua saída de wsl -l -v assim:

  NOME ESTADO VERSÃO
  Ubuntu-18.04 Em execução 2
  docker-desktop Em execução 2
  docker-desktop-data Em execução 2

É tudo. O Docker criou os seus próprios contentores WSL área de trabalho e docker-desktop-data. Alguns dos tutoriais ou conselhos disponíveis podem ser confusos porque desta vez não deve instalar ou configurar nada relacionado com o Docker na sua distribuição Linux WSL. É muito importante lembrar-se disso. Após a limpeza, o aparelho deve funcionar bem de imediato.

Adicionalmente...

A configuração do WSL 2 com o Docker pode ser um processo indolor com alguns passos simples. Comece atualizando o listas de pacotes utilizando o comando "sudo apt-get update" para garantir que tem a informação da versão mais recente. Resolva quaisquer dependências em falta com "sudo apt-get install -y build-essential" para uma experiência de instalação sem problemas. Instalar Motor Docker com "sudo apt-get install -y motor de cais" para construir, executar e gerir contentores sem esforço. Execute "sudo docker run" seguido do nome da imagem para iniciar os contentores. Para manter o seu ambiente optimizado, execute periodicamente "sudo docker system prune" para remover contentores não utilizados e libertar espaço em disco. Com estes passos, pode desfrutar da integração perfeita do WSL 2 e do Docker para uma contentorização eficiente no seu fluxo de trabalho de desenvolvimento.

Artigos relacionados

Ilustração de uma aplicação de cuidados de saúde para smartphone com um ícone de coração e um gráfico de saúde em ascensão, com o logótipo The Codest, representando soluções digitais de saúde e HealthTech.
Desenvolvimento de software

Softwares para o setor de saúde: Tipos, casos de uso

As ferramentas em que as organizações de cuidados de saúde confiam atualmente não se assemelham em nada às fichas de papel de há décadas atrás. O software de cuidados de saúde apoia agora os sistemas de saúde, os cuidados aos doentes e a prestação de cuidados de saúde modernos em...

OCODEST
Ilustração abstrata de um gráfico de barras em declínio com uma seta ascendente e uma moeda de ouro que simboliza a eficiência ou a poupança de custos. O logótipo The Codest aparece no canto superior esquerdo com o slogan "In Code We Trust" sobre um fundo cinzento claro
Desenvolvimento de software

Como dimensionar a sua equipa de desenvolvimento sem perder a qualidade do produto

Aumentar a sua equipa de desenvolvimento? Saiba como crescer sem sacrificar a qualidade do produto. Este guia cobre sinais de que é hora de escalar, estrutura da equipe, contratação, liderança e ferramentas - além de como o The Codest pode...

OCODEST
Desenvolvimento de software

Construir aplicações Web preparadas para o futuro: ideias da equipa de especialistas do The Codest

Descubra como o The Codest se destaca na criação de aplicações web escaláveis e interactivas com tecnologias de ponta, proporcionando experiências de utilizador perfeitas em todas as plataformas. Saiba como a nossa experiência impulsiona a transformação digital e o negócio...

OCODEST
Desenvolvimento de software

As 10 principais empresas de desenvolvimento de software sediadas na Letónia

Saiba mais sobre as principais empresas de desenvolvimento de software da Letónia e as suas soluções inovadoras no nosso último artigo. Descubra como estes líderes tecnológicos podem ajudar a elevar o seu negócio.

thecodest
Soluções para empresas e escalas

Fundamentos do desenvolvimento de software Java: Um Guia para Terceirizar com Sucesso

Explore este guia essencial sobre o desenvolvimento de software Java outsourcing com sucesso para aumentar a eficiência, aceder a conhecimentos especializados e impulsionar o sucesso do projeto com The Codest.

thecodest

Subscreva a nossa base de conhecimentos e mantenha-se atualizado sobre os conhecimentos do sector das TI.

    Sobre nós

    The Codest - Empresa internacional de desenvolvimento de software com centros tecnológicos na Polónia.

    Reino Unido - Sede

    • Office 303B, 182-184 High Street North E6 2JA
      Londres, Inglaterra

    Polónia - Pólos tecnológicos locais

    • Parque de escritórios Fabryczna, Aleja
      Pokoju 18, 31-564 Cracóvia
    • Embaixada do Cérebro, Konstruktorska
      11, 02-673 Varsóvia, Polónia

      The Codest

    • Início
    • Sobre nós
    • Serviços
    • Case Studies
    • Saber como
    • Carreiras
    • Dicionário

      Serviços

    • Aconselhamento
    • Desenvolvimento de software
    • Desenvolvimento backend
    • Desenvolvimento de front-end
    • Staff Augmentation
    • Programadores de back-end
    • Engenheiros de nuvem
    • Engenheiros de dados
    • Outros
    • Engenheiros de GQ

      Recursos

    • Factos e mitos sobre a cooperação com um parceiro externo de desenvolvimento de software
    • Dos EUA para a Europa: Porque é que as empresas americanas decidem mudar-se para a Europa?
    • Comparação dos centros de desenvolvimento da Tech Offshore: Tech Offshore Europa (Polónia), ASEAN (Filipinas), Eurásia (Turquia)
    • Quais são os principais desafios dos CTOs e dos CIOs?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Website terms of use

    Direitos de autor © 2026 por The Codest. Todos os direitos reservados.

    pt_PTPortuguese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese es_ESSpanish nl_NLDutch etEstonian elGreek cs_CZCzech pt_PTPortuguese