,

How to Fix “E: Unable to Locate Package google-chrome-stable” Error While Building a Docker Image

ajeetraina Avatar

·

,

·

If you try to build a containerised Web scraping tool using Python, Selenium and Beautiful Soup on Apple M1 Pro, you might encounter the following issue while building the Dockerfile:

Copied!
=> [ 3/11] COPY . /app 0.0s => [ 4/11] RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - 0.9s => [ 5/11] RUN sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google. 0.2s => ERROR [ 6/11] RUN apt-get update -qqy --no-install-recommends && apt-get install -qqy --no-install-recommends googl 3.6s ------ > [ 6/11] RUN apt-get update -qqy --no-install-recommends && apt-get install -qqy --no-install-recommends google-chrome-stable: #10 3.592 E: Unable to locate package google-chrome-stable ------ executor failed running [/bin/sh -c apt-get update -qqy --no-install-recommends && apt-get install -qqy --no-install-recommends google-chrome-stable]: exit code: 100

Assuming that you are using the traditional Dockerfile that reads:

Copied!
FROM python:3.9 ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - RUN sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' RUN apt-get update -qqy --no-install-recommends && apt-get install -qqy --no-install-recommends google-chrome-stable RUN pip install --no-cache-dir --upgrade pip WORKDIR /app COPY ./requirements.txt /app/requirements.txt RUN pip3 install --no-cache-dir -r requirements.txt COPY . . CMD tail -f /dev/null CMD python3 scraper.py

To fix this issue, just modify the first line of the Dockerfile and add --platform=linux/amd64 entry.

Copied!
FROM --platform=linux/amd64 python:3.9

Now you should be able to build the Docker image successfully

Copied!
docker build -t ajeetraina/scraperhubb . [+] Building 160.4s (16/16) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 941B 0.0s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load metadata for docker.io/library/python:3.9 1.0s => CACHED [ 1/11] FROM docker.io/library/python:3.9@sha256:c1613835d7be322f98603f356b9e0c9d40f9589e94dc9f710e714a807a6 0.0s => [internal] load build context 0.0s => => transferring context: 3.06kB 0.0s => [ 2/11] WORKDIR /app 0.0s => [ 3/11] COPY . /app 0.0s => [ 4/11] RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - 9.0s => [ 5/11] RUN sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google. 0.3s => [ 6/11] RUN apt-get update -qqy --no-install-recommends && apt-get install -qqy --no-install-recommends google-chr 82.9s => [ 7/11] RUN apt-get install -yqq unzip 4.7s => [ 8/11] RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage 2.4s => [ 9/11] RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/ 0.5s => [10/11] RUN pip install --upgrade pip 21.3s => [11/11] RUN pip install -r /app/requirements.txt 37.0s => exporting to image 1.2s => => exporting layers 1.2s => => writing image sha256:c5d84ecd6d74e35175816f4d7c248c3ff58fd063fe736bf157683a9cef4cea25 0.0s => => naming to docker.io/ajeetraina/scraperhubb 0.0s Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

Did you find this blog helpful? If not, then reach out to us at our Community Slack

Leave a Reply

Your email address will not be published. Required fields are marked *