Como rodar o Multilogin 6 no Docker
Neste guia, mostraremos como configurar e iniciar Multilogin 6 em um contêiner Docker. O Docker facilita a implantação de aplicativos consistentemente em diferentes ambientes.
Por que usar o Docker para Multilogin?
O Docker permite que você:
- Execute Multilogin 6 em qualquer sistema que suporte Docker, incluindo máquinas locais e ambientes de nuvem
- Mantenha a portabilidade e a escalabilidade para as necessidades de automação
- Use o modo headless para execução em hosts remotos
Antes de começar
Certifique-se de ter:
- Um sistema que pode executar o Docker (nuvem, servidor, VM ou seu computador)
- Uma conta Docker Hub para baixar as imagens necessárias
- Uma conta Multilogin 6 para usar o aplicativo no seu contêiner
Etapa 1: instalar o Docker
Se você ainda não tem o Docker, instale-o no seu sistema operacional:
O Docker Engine foi projetado para rodar diretamente no Linux. Para outros sistemas operacionais como Windows ou macOS, você precisará usar o Docker Desktop.
Etapa 2: construir um Dockerfile
Para criar um contêiner, você precisará de um Dockerfile no diretório do seu projeto. Este arquivo configura o contêiner.
Exemplo Dockerfile
# Use an official base image with a compatible OS
FROM ubuntu:22.04
# List of basic dependancies
RUN apt-get update && apt-get install -y ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-4-1 libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 wget xdg-utils
# Dependancies to install and launch Multilogin application
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y openjdk-18-jre-headless curl unzip openssh-client
# Set environment variables for Multilogin login
ENV ML_USERNAME="your_multilogin_username"
ENV ML_PASSWORD="your_multilogin_password"
# Install Multilogin app
RUN mkdir -p /opt/multilogin/
RUN cd /opt/multilogin/ && \
curl --location --fail --output multiloginapp-linux-x64-client "https://cdn-download.multiloginapp.com/multilogin/6.3.6/multilogin-6.3.6-1-linux_x86_64.zip" && \
unzip multiloginapp-linux-x64-client && \
chmod +x multiloginapp-linux-x64-client && \
rm multiloginapp-linux-x64-client && \
apt-get -y install ./multilogin.deb
# Copy our main run script into workdir
COPY ./run.sh /opt/Multilogin/
# Add permission to execute and run our script
RUN chmod +x /opt/Multilogin/run.sh
CMD bash /opt/Multilogin/run.sh
Caso especial: usuários de M1 Mac
Se estiver usando um Mac M1 (arquitetura arm64), você precisará habilitar o recurso experimental Docker Buildx para construir o contêiner corretamente.
Etapa 3: manipular credenciais de login
Como as instruções CMD do Dockerfile não suportam parâmetros de login, você precisa de um arquivo run.sh
no mesmo diretório.
Exemplo de script run.sh
#!/bin/bash
echo "Multilogin account is $ML_USERNAME with password of length ${#ML_PASSWORD}"
cd opt/Multilogin/headless
bash ./cli.sh -login -u "$ML_USERNAME" -p "$ML_PASSWORD"
bash ./headless.sh -port 35000
Armazene suas credenciais com segurança em vez de codificá-las em scripts.
Etapa 4: execute um contêiner Docker
Agora que seu Dockerfile está configurado, é hora de construir e executar seu contêiner.
Crie o contêiner Docker
Certifique-se de que seu daemon do Docker esteja em execução, navegue até seu diretório Dockerfile e execute:
docker build -t multilogin-container .
Execute o contêiner
Para iniciar o contêiner em seu ambiente, use:
docker run -d --name multilogin-app -p <host_port>:<container_port> multilogin-container
Substitua <host_port>
e <container_port>
pelos números de porta desejados para habilitar o acesso à solicitação HTTP .
Executar no modo headless
Multilogin 6 não suporta o modo headless nativamente. Para resolver isso, use um display virtual como Xvfb
dentro do seu script run.sh