-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: podman support #158
feat: podman support #158
Conversation
✅ Deploy Preview for agent-public-docs canceled.
|
@PrabhatDixit and @mtbChef do we want to support other container runtimes in make besides docker (devtools)? I think by doing what is in this PR we would need to adjust the naming of make targets that @defanator modified to not use the word docker in them. If we want to do this in a separate effort, should we consider more than Podman? e.g. LXC, ContainerD/runc ? |
TWIMC, tested container targets on Fedora 37 host with docker-ce:
Everything works just fine when docker is running without selinux support (default mode). If selinux is enabled (daemon.json contains
The failures seem to be related to moby/buildkit#2320. With buildkit disabled, some targets are working (like
|
2a8027f
to
3e758c6
Compare
Since we will now have the option of using docker or podman for running containers, I think it might make sense to rename some of the make targets to make them a bit more generic. Like for example maybe change Other than that the PR looks good. |
3e758c6
to
d2c92f0
Compare
@dhurley - addressed this in 76db8ae:
|
Thanks @defanator. The changes look good. I think you just need to resolve some merge conflicts. |
76db8ae
to
81bbdcb
Compare
@dhurley should be done now, just rebased on updated |
Looks like the integration tests are failing as its looking for a Here are the relative places where the changes need to be made. |
This change introduces an ability to use podman as a container management tool in addition to docker, which remains the default. On systems with both docker and podman installed, the CONTAINER_CLITOOL environment variable can be used to choose a desired option.
9be282b
to
c1b18d9
Compare
Proposed changes
This change introduces an ability to use podman container management tool in addition to docker, which remains the default. Podman provides daemonless architecture and allows to run containers in unprivileged mode natively on Linux.
On systems with both docker and podman installed, the
CONTAINER_CLITOOL
environment variable can be used to choose a desired option.Checklist
Before creating a PR, run through this checklist and mark each as complete.
CONTRIBUTING
documentREADME.md
)Details on performed tests
Platform / versions, Docker:
Platform / versions, podman:
Targets tested with both docker and podman (rootless):
make build-docker
make build-benchmark-docker
make build-txz-packager-docker
make local-txz-package
Targets tested with podman (rootless) only:
make performance-test
(fails with docker on M1)Untested targets:
make test-docker-component
(it's unclear from Makefile how to create proper environment)Additional findings
https://github.com/containers/podman/issues/16969