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

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:
=> [ 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:
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.
FROM --platform=linux/amd64 python:3.9
Now you should be able to build the Docker image successfully
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