Comece com o contentor WSL

Este guia passo a passo vai ajudá-lo a começar a construir e executar containers Linux no Windows usando wslc.exe, a CLI de containers que vem incorporada com o WSL.

wslc.exe fornece uma CLI familiar para construir, enviar e executar aplicações contentorizadas.

Visão geral dos contentores WSL

Um contentor é uma ferramenta utilizada para criar, implementar e executar aplicações. Os contêineres permitem que os desenvolvedores empacotem um aplicativo com todas as partes necessárias (bibliotecas, estruturas, dependências, etc.) e enviem tudo como um pacote. O uso de um contêiner garante que o aplicativo será executado da mesma forma, independentemente de quaisquer configurações personalizadas ou bibliotecas instaladas anteriormente no computador que o executam que possam diferir da máquina usada para escrever e testar o código do aplicativo. Isso permite que os desenvolvedores se concentrem em escrever código sem se preocupar com o sistema em que o código será executado.

Pré-requisitos

  • O WSL está instalado. Corre wsl --update para garantir que tens a versão mais recente.
  • Instale o Visual Studio Code(opcional). Isto proporcionará a melhor experiência, incluindo a capacidade de programar e depurar os seus projetos containerizados ligados à sua distribuição Linux.
  • Instale o Terminal do Windows(opcional). Isso fornecerá a melhor experiência, incluindo a capacidade de personalizar e abrir vários terminais na mesma interface (incluindo Ubuntu, Debian, PowerShell, CLI do Azure ou o que você preferir usar).

Instalar e verificar o wslc

wslc.exe está incluído com o WSL, por isso não há motor separado para instalar. Para garantir que tens uma versão do WSL que a inclua:

  1. Instale o WSL se ainda não o fez, depois atualize para a versão mais recente abrindo o PowerShell e inserindo:

    wsl --update
    
  2. Confirme que wslc.exe está disponível e verifique a sua versão introduzindo:

    wslc version
    
  3. Teste se tudo funciona corretamente executando uma imagem simples incorporada. A imagem é transferida automaticamente se ainda não existir localmente:

    wslc run --rm hello-world
    

    Deverá ver uma mensagem "Olá" a confirmar que a sua instalação parece estar a funcionar corretamente.

Sugestão

Eis alguns comandos úteis wslc que deve conhecer:

  • Liste os comandos disponíveis na wslc CLI introduzindo: wslc --help
  • Listar informações para um comando específico com: wslc <COMMAND> --help
  • Liste as imagens na sua máquina, com: wslc image list
  • Liste os contentores em execução na sua máquina, com: wslc container list ou liste todos os contentores (incluindo os parados) com: wslc container list --all
  • Mostre estatísticas de utilização de recursos para os seus contentores em funcionamento, com: wslc stats

Faça funcionar os seus primeiros contentores

Com wslc.exe, podes obter imagens, executar contentores em primeiro plano ou em segundo plano, mapear portas e interagir com contentores em execução. Experimenta alguns destes comandos do PowerShell:

# Run a command in a throwaway container
wslc run --rm -it ubuntu:latest bash -c "echo Hello world from WSL container!"

# Run a web server in the background and publish port 8080 to the container's port 80
wslc run -d --rm -p 8080:80 --name web nginx

# Request content from the running web server
curl localhost:8080

# List the running container
wslc container list

# Run an additional command inside the running container
wslc exec web cat /etc/os-release

# Stop the container
wslc container stop web

Como o recipiente nginx foi iniciado com --rm, ele é removido automaticamente assim que para.

Crie e execute a sua própria imagem de contentor

Para começar a desenvolver aplicações com wslc.exe, recomendamos usar o VS Code, juntamente com a extensão WSL , para que possa editar o seu projeto no sistema de ficheiros Linux e executar wslc comandos a partir do terminal integrado.

Vamos construir uma imagem de contentor para um projeto de aplicação existente.

  1. Para este exemplo, vamos usar o código-fonte do tutorial Hello World para Django no ambiente de desenvolvimento Python para configurar documentos. Podes saltar este passo se preferires usar o código-fonte do teu próprio projeto. Para descarregar a HelloWorld-Django aplicação web a partir de GitHub, abra um terminal WSL (Ubuntu, por exemplo) e introduza:

    git clone https://github.com/<username>/helloworld-django.git
    

    Observação

    Sempre armazene seu código no mesmo sistema de arquivos em que você está usando ferramentas. Isso resultará em um desempenho de acesso a arquivos mais rápido. Neste exemplo, estamos usando uma distro Linux (Ubuntu) e queremos armazenar nossos arquivos de projeto no sistema \\wsl$de arquivos WSL. Armazenar arquivos de projeto no sistema de arquivos do Windows tornaria as coisas significativamente mais lentas ao usar ferramentas Linux no WSL para acessar esses arquivos.

  2. A partir do seu terminal WSL, altere os diretórios para a pasta de código-fonte deste projeto:

    cd helloworld-django
    
  3. Abra o projeto no VS Code em execução no servidor de extensão WSL local inserindo:

    code .
    

    Confirme se você está conectado à sua distro WSL Linux verificando o indicador remoto verde no canto inferior esquerdo da sua instância do VS Code.

    VS Code WSL indicador remoto

  4. Adicione um Containerfile na raiz do seu projeto que descreva como criar a imagem. No exemplo do Django, um minimal Containerfile pode ser assim:

    FROM python:3
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    EXPOSE 8000
    CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
    
  5. A partir da pasta do projeto (o diretório que contém o seu Containerfile), constrói a imagem com wslc build, marcando-a com um nome que possas consultar mais tarde:

    wslc build -t helloworld-django .
    
  6. Confirme que a imagem foi criada listando as suas imagens:

    wslc image list
    
  7. Execute a imagem que acabou de criar como um contentor, publicando a porta da aplicação para poder aceder-lhe a partir do Windows:

    wslc run -d --rm -p 8000:8000 --name django helloworld-django
    
  8. Para confirmar que o seu contentor está a funcionar, liste os containers em execução e verifique os seus registos:

    wslc container list
    wslc container logs django
    
  9. Abra um navegador no Windows e navegue até http://localhost:8000/ para ver a sua aplicação em execução no respetivo contentor. Também pode confirmar que a aplicação está a correr no Linux executando um comando dentro do contentor:

    wslc exec django uname
    

    O uname resultado de "Linux" confirma que o contentor está a correr no kernel Linux WSL 2.

  10. Quando terminar, pare o contentor:

    wslc container stop django
    

Acabou de criar e executar com sucesso um contentor Linux no Windows com o wslc.exe, com tecnologia WSL 2, e pode criá-lo, executá-lo, implementá-lo ou depurá-lo no VS Code!

Solução de problemas

Inspecionar um recipiente ou imagem

Quando um contentor se comporta de forma inesperada, os inspect comandos e logs fornecem informações detalhadas para ajudar a diagnosticar o problema:

wslc container inspect <container-id>
wslc container logs <container-id>
wslc image inspect <image>

Recuperar espaço em disco

Imagens e recipientes parados consomem espaço em disco. Para limpar os recursos que já não utiliza:

# Remove all stopped containers
wslc container prune

# Remove unused images
wslc image prune

Para obter mais ajuda com a solução de problemas gerais no WSL, consulte o documento Solução de problemas .

Recursos adicionais