DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk6 min

How to Use Multi-Architecture Docker Selenium Images

Run Selenium Docker images across AMD64 and ARM64: check browser support for your exact tag, start a standalone container or distributed Grid, and connect tests to WebDriver.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To run Selenium on an AMD64 or ARM64 machine, choose a Selenium image whose exact tag supports both your host architecture and the browser you need, then connect your tests to the container’s WebDriver endpoint at http://localhost:4444. Docker can select the right architecture variant automatically when an image publishes a multi-platform manifest, but browser availability still varies by architecture and release.

How multi-architecture Selenium images work

A multi-platform Docker image reference can point to multiple platform-specific image manifests. When you pull it, Docker selects a variant for the host architecture. This lets the same image name work on different supported hosts without manually choosing an architecture-specific reference. Docker’s multi-platform documentation explains the manifest-list selection behavior.

Selenium’s Docker project announced AMD64 and ARM64 image support starting with tag 4.21.0 in 2024. That historical threshold does not mean every browser is available on both architectures or that every later tag has identical support. Check the current Selenium Docker README and browser matrix for the exact tag you plan to use.

Choose an image for your host and browser

Host and browser need Guidance
AMD64: Chrome, Firefox, Edge, Chromium, or Chrome for Testing The current Selenium README lists these browser families for AMD64. Select the matching image and pin a full version tag.
ARM64: Firefox or Chromium The current README lists both for ARM64. Check the exact tag and use its matching image.
ARM64: Google Chrome The current README says Chrome is available via stable APT from v150 onward; older Chrome versions may be AMD64-only. Verify the browser matrix and CHROME_PLATFORMS for your tag. The ARM64 driver arrangement differs from AMD64.
ARM64: Edge or Chrome for Testing The current README lists these as unavailable on ARM64. Use a supported browser or run the required browser on AMD64.
ARM64 host, AMD64-only browser image Selenium discourages emulation for browser workloads because of performance and stability problems, including browser launch failures. Prefer a native platform/browser combination where possible.

These availability statements follow the current README, not the launch announcement’s 2024 browser matrix, which described the initial rollout state. Browser and tag support can change; verify the precise release before relying on it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start a standalone Selenium browser container

Standalone is the simplest option for local tests: one container runs the browser and Grid endpoint. Selenium’s README example uses Firefox with this full tag, checked against the README on October 3, 2026. Confirm the tag is still available before using it.

docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.48.0-20260905
  1. Run the command on a host with Docker installed. Docker pulls the matching platform variant if the tag publishes one for the host.
  2. Use http://localhost:4444 as the RemoteWebDriver endpoint in your test code.
  3. Open http://localhost:7900 if you want to observe browser activity. Port 7900 is optional; omit its mapping if you do not need visualization.

The --shm-size="2g" setting allocates shared memory for the browser container, following Selenium’s quick-start recommendation.

Chromium example

Selenium also documents this multi-architecture invocation pattern for Chromium:

docker run --rm -it -p 4444:4444 -p 5900:5900 -p 7900:7900 --shm-size 2g selenium/standalone-chromium:latest

For reproducible tests, replace latest with a full Selenium version tag and verify that the tag supports your host architecture. The example maps WebDriver on 4444, VNC on 5900, and browser visualization on 7900.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Connect a test to RemoteWebDriver

Configure the Selenium client library in your test to use the remote endpoint http://localhost:4444 and select the browser matching the container. The exact client code depends on your language and Selenium binding; the essential setup is to create a RemoteWebDriver session at that URL rather than starting a local browser driver. If the test runs in another container on the same Docker network, use the Selenium service or container name as the hostname instead of localhost.

Pin versions and keep architectures aligned

Use a full image tag when you need repeatable local runs or CI. A tag such as 4.48.0-20260905 identifies a specific Selenium and browser image build; the tag is an example from the README accessed October 3, 2026, not a permanent recommendation. Floating tags such as latest can move, changing the browser or platform behavior beneath a test run.

  • Check the project browser matrix for the exact image tag, not only for the browser family generally.
  • In mixed-architecture teams, use a tag that publishes the required browser on both AMD64 and ARM64, or select host-specific jobs where it does not.
  • Avoid assuming that emulation makes an AMD64-only browser a dependable choice on ARM64.

Run a distributed Selenium Grid

Use a Hub and browser Nodes when tests need a distributed Grid rather than one standalone browser container. Selenium’s Docker README demonstrates connecting the containers through a shared Docker network and pointing each Node’s event bus at the Hub.

  1. Create a Docker network for the Grid containers.
  2. Start the selenium/hub container on that network and publish port 4444 if clients outside the network need to reach it.
  3. Start the appropriate browser Node containers on the same network, setting SE_EVENT_BUS_HOST to the Hub container name.
  4. Use the same explicit Selenium version tag for Hub and Nodes, and check that each Node image supports the architecture of the machine running it.
  5. Allocate browser shared memory with --shm-size="2g", as in Selenium’s documented browser-node examples.

Separate Nodes make it possible to distribute browser sessions across machines, but add network and version-alignment considerations. A standalone container is simpler when one local browser is enough.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Docker Container Linux Devops Programming Coding T-Shirt
  • Docker, Docker Swarm, Docker Compose, Programmer, Developer, Coding, Programming, Software Engineer, Code, DevOps, Deploy, Deployment, Kubernetes, Salt, Puppet, Chef, Terraform, Container, AWS, Azure, Cloud, Geek, Funny, Computer, Software, Tech, IT
  • Integration, Scrum, Compile, Compilation, Science, Bug, Debug, Python, Linux, Java, Javascript, Scala, Dotnet, Kotlin
  • Lightweight, Classic fit, Double-needle sleeve and bottom hem
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common startup and connection problems

Docker reports no matching manifest or platform

The selected tag may not publish an image for your host architecture. Check the exact tag and browser in Selenium’s current matrix. On ARM64, choose a browser listed for ARM64 or run the workload on AMD64 if the required browser is unavailable natively.

The browser fails to launch or behaves unreliably on ARM64

Confirm that Docker pulled a native ARM64 image and that the browser is supported for that architecture and tag. Selenium warns against AMD64 emulation on ARM64 for browser workloads because of performance and stability risks; use a native combination where available.

The test cannot connect to WebDriver

  • For a test running on the host, verify that port 4444 is published and use http://localhost:4444.
  • For a test in another container, make sure both containers share a Docker network and use the Selenium container or service name rather than localhost.
  • For a distributed Grid, check that Nodes can resolve the Hub name and that SE_EVENT_BUS_HOST points to it.

The browser starts but crashes or runs out of shared memory

Use Selenium’s recommended --shm-size="2g" allocation for browser containers. If you changed container resource limits, check that the runtime still provides the configured shared memory.

Results change between runs

Replace a floating tag such as latest with a full version tag, then use the same tag across Grid Hub and Nodes. Recheck the browser/platform matrix when upgrading.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

If your goal is a website image or PDF rather than an interactive Selenium session, ScreenshotNeo provides a one-request screenshot API and an MCP server for AI agents. It accepts a URL and returns PNG, JPEG, WebP, or PDF. Its capture can accept cookie banners and remove known consent banners, newsletter popups, and chat widgets before taking the shot; each step can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed as clean shots, and the response identifies the page verdict and billing status. AI agents can use its MCP tools, including take_screenshot, get_page_info, and capture_pdf.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for parameters and setup. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Sign up for free and get 1,000 screenshots a month with no card.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

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

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.