Artigo
· Dez. 22, 2023 3min de leitura

Executando a imagem do docker da comunidade do IRIS como uma máquina do WSL 2

O Subsistema Windows para Linux (WSL) é um recurso do Windows que permite executar um ambiente do Linux na sua máquina do Windows, sem precisar de uma máquina virtual separada ou inicialização dupla. 

O WSL foi projetado para oferecer uma experiência perfeita e produtiva a desenvolvedores que querem usar ambos o Windows e o Linux ao mesmo tempo**.

O WSL 2 é o tipo de distro padrão ao instalar uma distribuição Linux. O WSL 2 usa tecnologia de virtualização para executar um kernel do Linux dentro de uma máquina virtual (VM) utilitária leve. As distribuições Linux são executadas como contêineres isolados dentro da VM gerenciada pelo WSL 2. As distribuições Linux executadas pelo WSL 2 compartilham o mesmo namespace de rede,  árvore de dispositivos (além de /dev/pts), CPU/kernel/memória/swap, binário /init, mas têm o próprio  namespace PID, namespace Montar, namespace de usuário, namespace Cgroup e processo de inicialização.

O WSL 2 melhora o desempenho do sistema de arquivos e adiciona a compatibilidade total de chamadas do sistema em comparação com a arquitetura do WSL 1.

O Docker é uma plataforma aberta para desenvolver, enviar e executar aplicativos. Ele permite que você separe seus aplicativos da sua infraestrutura, para entregar software rapidamente. Com o Docker, você pode gerenciar sua infraestrutura da mesma forma que gerencia seus aplicativos. Ao aproveitar as vantagens das metodologias do Docker para envio, teste e implantação de código, você pode reduzir significativamente o atraso entre a escrita do código e a execução na produção.****

 

Aqui, vamos aprender a migrar facilmente a imagem do Docker da Community Edition do IRIS para o WSL 2.

 

Exporte o tar de um contêiner

Abra a linha de comando (Bash) para uma distribuição Linux que você já instalou da Microsoft Store (CentOS Stream nesse exemplo, para Ubuntu os comandos são os mesmos, com exceção do uso de service em vez de systemctl).

Inicie o serviço do Docker:

sudo systemctl docker start

 

Faça o pull da imagem do DockerHub:

docker pull intersystems/iris-community:2023.3

 

Execute o contêiner IRIS dentro do Docker:

docker run intersystems/iris-community:2023.3

 

Pegue o ID do contêiner IRIS usando grep e awk (de uma guia diferente do WSL, de preferência):  

É opcional parar o contêiner do docker antes dessa etapa, no entanto, se você não fizer isso, só precisará parar/iniciar a instância após a importação para o WSL

dockerContainerID=$(docker container ls -a | grep -i iris | awk '{print $1}')

 

Exporte o ID do contêiner ID para um arquivo tar no seu c-drive montado:

docker export $dockerContainerID > /mnt/c/temp/iris_community.tar

 

 

Exemplo de importação da comunidade do IRIS

Abra o PowerShell e garanta que você tenha uma pasta criada onde quer armazenar a distribuição.

cd C:\temp

 

mkdir C:\Users\csepulvedamancilla\wslDistroStorage\IRIS

 

Use o comando wsl --import <DistroName> <InstallLocation> <InstallTarFile> para importar o arquivo tar.

 wsl --import IRISCommunity C:\Users\csepulvedamancilla\wslDistroStorage\IRIS .\iris.tar

Use o comando wsl -d IRISCommunity para executar sua distribuição Linux recém-importada.

 

 wsl -d IRISCommunity

Depois de conectado, inicialize o IRIS  (uma dica profissional, faça isso com wsl.conf!)

su - irisowner

 

iris start IRIS

 

 

Aproveite sua instância!

http://localhost:52773/csp/sys/%25CSP.Portal.Home.zen

 

Você já pode aproveitar todos os benefícios de desempenho, flexibilidade e integração nativa do WSL2 (ou seja, acesso direto aos arquivos, acompanhamento de logs, cópia de drivers Java e muito mais) ao usar sua instância da comunidade do IRIS.

 

** https://learn.microsoft.com/en-us/windows/wsl/about

 

*** https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro

 

**** https://docs.docker.com/get-docker/

Discussão (0)0
Entre ou crie uma conta para continuar