Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando se trata de automatizar testes ou operações de scraping com navegadores headless, instalar o Chrome em um ambiente containerizado é uma demanda comum. Entretanto, muitos desenvolvedores enfrentam dificuldades na hora de incorporar o navegador ao Docker, especialmente por causa dos problemas de dependência ao usar o método tradicional de instalação via pacote .deb.
---
A abordagem mais direta — baixar o pacote .deb do Chrome e usar o dpkg — acaba gerando erros de dependência não resolvida. Isso acontece porque o dpkg não resolve automaticamente as dependências necessárias, levando a uma instalação incompleta que pode travar processos automatizados ou testes de integração. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Por padrão, muitos scripts tentam contornar esse problema usando apt -f install -y, mas esse comando funciona bem apenas em ambientes interativos ou durante o uso de uma sessão de terminal, não no processo de build do Docker. Assim, o build do container para quando encontra o erro, dificultando a automação. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
---
apt-get com pacote baixadoUma estratégia eficiente é usar o apt-get para instalar o Chrome, mas ao invés de usar o dpkg, baixar o pacote .deb e instalar com apt-get. Essa abordagem garante que as dependências sejam resolvidas automaticamente.
Exemplo de passos:
RUN apt-get update && apt-get install -y wget
RUN wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get install -y ./google-chrome-stable_current_amd64.deb
Essa sequência evita o erro de dependência, pois o apt-get cuida de resolver tudo na instalação.
---
Outra solução que se mostra mais limpa é configurar o repositório oficial do Google Chrome, incluindo a chave GPG, assim você consegue instalar o navegador via apt normalmente.
Passos:
RUN apt-get update && apt-get install -y wget gnupg
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | tee /etc/apt/sources.list.d/google-chrome.list
RUN apt-get update && apt-get -y install google-chrome-stable Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Dessa forma, o Chrome é instalado de forma mais integrada ao gerenciador de pacotes, o que diminui a chance de erros futuros e facilita atualizações. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
---
Optar por baixar o pacote e instalar com apt-get é simples, mas pode gerar problemas de versionamento ou compatibilidade se a versão do pacote não for a mais recente ou se o repositório mudar. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
Por outro lado, configurar o repositório oficial traz maior controle de atualizações e segurança — além de evitar a necessidade de gerenciar manualmente os arquivos .deb. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Sempre avalie o impacto na sua pipeline, especialmente se estiver usando versões específicas do Chrome para testes compatíveis com determinados aplicativos. A decisão fica mais saudável quando o time consegue medir o impacto depois. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
1. Automatize o download do pacote e a instalação via apt-get.
2. Prefira usar o repositório oficial para atualizações mais seguras e gerenciáveis.
3. Teste o processo localmente antes de integrar na sua pipeline de CI.
Assim, você evita os erros comuns de dependência e garante uma instalação mais estável e fácil de manter. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. A decisão fica mais saudável quando o time consegue medir o impacto depois. A decisão fica mais saudável quando o time consegue medir o impacto depois. A decisão fica mais saudável quando o time consegue medir o impacto depois. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Para quem trabalha com testes automatizados ou scraping, essa estratégia é um divisor de águas. Você já tentou alguma dessas abordagens? Quais dificuldades enfrentou ao instalar navegadores em Docker? O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
No meu time usar o repositorio oficial sempre ajudou a evitar esses problemas principalmente em builds automatizados. Mas cuidado com as versoes sempre testa antes de subir pra producao.
Sim, concordo. Já passei por isso, e a melhor solução foi essa de adicionar o repositório. Assim, fica mais fácil manter atualizado também.
Acho que uma pegadinha é que às vezes o repositório muda o esquema de chaves, aí dá trabalho pra ajustar o pipeline. Mas no geral, é mais seguro mesmo.