2 Jawaban2025-09-03 04:02:24
Oh, yes — you can run containers on s390x machines, but there are some practical things to keep in mind before you dive in.
I've run Linux on big iron and toyed with containers there enough to know the main checklist: the machine needs a Linux distro built for s390x (think SLES, RHEL, Ubuntu on IBM Z or LinuxONE), and the container runtime must be available for that architecture. Many modern distros provide Docker or Podman packages for s390x directly through their repositories. I usually reach for Podman these days on enterprise Linux because it’s packaged well for s390x and works rootless, but plain Docker Engine is also possible — just install the distro-specific package rather than expecting Docker Desktop binaries.
A technical caveat that trips people up is image architecture. Containers are not magically architecture-agnostic: if you pull an image built for amd64 it won’t run natively on s390x. The good news is many official images are multi-arch (manifest lists) and include an s390x variant; you can do things like docker pull --platform linux/s390x image:tag or let Docker/Podman pick the right one automatically. If an s390x build doesn't exist, you can either build an s390x image yourself or use emulation with qemu-user-static and buildx. Emulation works (I’ve used qemu via buildx to cross-build and test), but expect a performance hit compared to native s390x images.
Other practical tips: ensure the kernel supports required container features (cgroups and overlayfs usually), check docker info to confirm the architecture, and if you plan to build multi-arch images, set up buildx and register qemu with binfmt_misc (multiarch/qemu-user-static is handy). Also, don’t assume Docker Desktop workflows will apply — you’ll be working with CLI tooling on a server. Running containers on IBM Z is surprisingly smooth once images are available; it’s a powerful way to get modern workloads on mainframes and LinuxONE hardware, and it can feel oddly satisfying spinning up a tiny container on such a massive machine.
3 Jawaban2025-09-03 10:53:11
Honestly, if you're digging into s390x support today, the landscape is surprisingly tidy compared to other niche architectures. In plain terms: the big mainstream distributions offer official support, because IBM Z and LinuxONE are widely used in enterprise settings.
The names you should know: Debian (official s390x port with regular images and repos), Fedora (s390x is an official Fedora architecture with regular composes), openSUSE/Leap and Tumbleweed (plus SUSE Linux Enterprise which is the commercial offering) and Red Hat Enterprise Linux (RHEL) all provide official builds for s390x. Canonical also ships Ubuntu images for IBM Z (s390x) for supported releases. Gentoo has maintained s390x support too, though its workflow is source-based rather than binary-focused. These are the ones you can reasonably point to as officially supported by their projects or vendors.
Beyond that, some distributions provide community or experimental s390x images — Alpine and certain RHEL rebuilds or downstreams may have builds contributed by their communities, and projects like Rocky or AlmaLinux occasionally have community efforts, but their s390x coverage is more hit-or-miss and varies by release. If you need production stability, stick with Debian, Fedora, SUSE/SLES, Ubuntu, RHEL, or Gentoo depending on your preferred model (binary vs source). For getting started, look for images labeled 's390x' on each distro's download or cloud image pages, and check release notes for kernel and z/VM compatibility. I'm always tickled by how resilient these platforms are on mainframe iron — it's a different vibe from desktop Linux, but super solid if you need uptime.
3 Jawaban2025-09-03 08:06:24
Whenever I need s390x images I treat Docker Hub like a little scavenger hunt — it’s oddly satisfying when you find exactly the manifest you need. I’ll usually start at hub.docker.com, search for the image name (for example 'ubuntu', 'alpine', or whatever project you care about) and open the Tags view. Click a tag and look for the 'Supported architectures' section: if the repository publishes a manifest list, Docker Hub will show whether 's390x' (aka IBM Z) is included. That visual check saves a lot of time before attempting a pull.
If I want to be 100% sure from the command line I run a few quick checks: docker pull --platform=linux/s390x IMAGE:TAG to try pulling the s390x variant (Docker will error if it doesn’t exist), or docker manifest inspect IMAGE:TAG | jq '.' to inspect the manifest list and see which platforms are present. For more advanced work I use docker buildx imagetools inspect IMAGE:TAG or skopeo inspect docker://IMAGE:TAG — those return the manifest and platform info reliably. If an image doesn’t include s390x you’ll either need to find a different image, look for a vendor that publishes s390x builds, or build one yourself with buildx and qemu emulation.
A few practical tips from my experiments: official images like 'ubuntu', 'debian', 'alpine' and many OpenJDK variants frequently include s390x builds, but not every tag/version will. Some community or vendor images explicitly add a '-s390x' suffix in their tag names, though relying on manifest lists is safer. If you’re running on non‑Z hardware and testing, remember to enable qemu (multiarch/qemu-user-static) or use a CI with actual s390x runners. Happy hunting — once you get the hang of manifest inspection it becomes second nature and saves many wasted pulls.