Skip to content
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

Provide 'podman' as a build backend #682

Closed
yuvipanda opened this issue May 20, 2019 · 3 comments · Fixed by #848
Closed

Provide 'podman' as a build backend #682

yuvipanda opened this issue May 20, 2019 · 3 comments · Fixed by #848

Comments

@yuvipanda
Copy link
Collaborator

Proposed change

Currently, only docker is available to build images. We should:

  1. Abstract the interface that builds a Dockerfile
  2. Implement docker (via docker-py) as the default implementation
  3. Allow podman to be the second implementation, so we can make sure our design isn't docker specific.

podman supports building Dockerfiles directly, so this should be a fairly minimal change.

Alternative options

We do (1) and (2) in core, but leave (3) to be a plugin.

Who would use this feature?

Anyone who doesn't want to use the docker daemon. There are good technical and social reasons for this.

How much effort will adding it take?

Abstracting the current docker calls behind an interface shouldn't be too much work. Podman is going to be interesting. It seems pretty production ready, but treats running on ubuntu as an extreme second class citizen - I haven't been able to get it to run yet. So that might be more challenging - making the case for keeping the podman build bits in an extension.

Who can do this work?

You'd need some familiarity with the docker python client and Dockerfile.

@betatim
Copy link
Member

betatim commented May 21, 2019

Are there other backends we should also take a look at (not implement though) to inform how we design the abstraction layer?

👍 on attempting to work towards repo2docker being able to use things that aren't docker!

@yuvipanda
Copy link
Collaborator Author

To begin with I think we should only support things that understand Dockerfiles. Off the top of my head, that is BuildKit, Podman and possibly buildah

@yuvipanda
Copy link
Collaborator Author

See also #560

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants