feat(core): add Podman compatibility by Tranquility2 · Pull Request #1028 · testcontainers/testcontainers-python · GitHub
Skip to content

feat(core): add Podman compatibility#1028

Merged
alexanderankin merged 8 commits into
mainfrom
support_podman
Jun 3, 2026
Merged

feat(core): add Podman compatibility#1028
alexanderankin merged 8 commits into
mainfrom
support_podman

Conversation

@Tranquility2

Copy link
Copy Markdown
Contributor

Brings Testcontainers for Python to feature parity with testcontainers-go and testcontainers-java for Podman:

  • Detect the runtime at the daemon level (cached).
  • Transparently adapt the code paths that differ between Docker and Podman (compose binary selection, port-binding parsing).
  • Keep existing Docker behavior unchanged when Docker is the active runtime.
  • Document the supported setup alongside Docker.

Closes #1027.

- Add is_podman() method to DockerClient for runtime engine detection
- Skip UDP protocol-in-host_port tests on Podman (unsupported syntax)
- Normalize Podman HostIp/HostPort differences in port binding assertions
- Skip insecure registry tests on Podman (requires daemon reconfiguration)
- Disable compose tests pending Podman compose investigation
@codecov

codecov Bot commented May 30, 2026

Copy link
Copy Markdown

@alexanderankin alexanderankin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🌶️🌶️🌶️ controversial!

@alexanderankin alexanderankin merged commit 37093ab into main Jun 3, 2026
8 checks passed
@alexanderankin alexanderankin deleted the support_podman branch June 3, 2026 10:56
alexanderankin added a commit that referenced this pull request Jun 3, 2026
🤖 I have created a release *beep* *boop*
---


##
[4.15.0-rc3](testcontainers-v4.15.0-rc2...testcontainers-v4.15.0-rc3)
(2026-06-03)


### Features

* **core:** add Podman compatibility
([#1028](#1028))
([37093ab](37093ab))
* **core:** auto-detect DOCKER_HOST from current docker context
([#1026](#1026))
([d4b8ff6](d4b8ff6)),
closes
[#1025](#1025)


### Bug Fixes

* **core:** add container logs to TimeoutError when wait strategy times
out
([#1007](#1007))
([1fadb40](1fadb40))
* **core:** close Reaper socket at interpreter exit to prevent
ResourceWarning
([#1017](#1017))
([d3a1517](d3a1517))
* **cosmosdb:** replace distutils.strtobool removed in Python 3.12
([#1018](#1018))
([3e487f4](3e487f4))
* **mongodb:** Use wait strategy instead of deprecated wait_for_logs
([#943](#943))
([c8118e7](c8118e7))
* **mssql:** use `ExecWaitStrategy` instead of deprecated
`wait_container_is_ready`
([#1016](#1016))
([4c53b89](4c53b89)),
closes
[#874](#874)
* **neo4j:** Swap out use of depricated wait utils for wait_strategies
([#1012](#1012))
([6deaf3b](6deaf3b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: David Ankin <daveankin@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add Podman compatibility (parity with testcontainers-go and testcontainers-java)

2 participants