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

/kind feature: podman-compose analogue of docker-compose #3865

Closed
barseghyanartur opened this issue Aug 21, 2019 · 34 comments
Closed

/kind feature: podman-compose analogue of docker-compose #3865

barseghyanartur opened this issue Aug 21, 2019 · 34 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@barseghyanartur
Copy link

/kind feature

Description

Introduce podman-compose as analogue of docker-compose.

@openshift-ci-robot openshift-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 21, 2019
@baude
Copy link
Member

baude commented Aug 21, 2019

@barseghyanartur there are no plans for an exact dupe of docker compose for podman. we believe people should attempt to use podman generate kube and podman play kube. we continue development on this feature.

a contributor has also made https://github.com/muayyad-alsadi/podman-compose which i hear people have had decent luck with.

@rhatdan
Copy link
Member

rhatdan commented Aug 21, 2019

Docker-compose is not a part of Docker, and therefore the core engineering team is not making an effort to support podman-compose a part of podman. But this is an open source project, I could see us adding a subset of compose to podman, podman generate compose/podman play compose. BUT it would have to be fully supported by the community.

Our direction (Red Hat) is to make it easy to move from Podman to Kubernetes and plan on investing in these features.

As @baude points out the community project podman-compose might be a place to try out and continue development efforts their. I would even be willing to move https://github.com/muayyad-alsadi/podman-compose under the github.com/containers framework, if this was something @muayyad-alsadi was interested in.

Our bottom line on this is that we don't want to end up with Red Hat/RHEL supporting the compose language for use with Podman. The compose use cases are huge and not well constrained, as I understand it.

@muayyad-alsadi
Copy link
Contributor

I would even be willing to move https://github.com/muayyad-alsadi/podman-compose under the github.com/containers framework, if this was something @muayyad-alsadi was interested in.

sure, I would be pleased by that.

@rhatdan
Copy link
Member

rhatdan commented Aug 21, 2019

Is there a way for you to request a move, or should I just create a podman-compose and you can open a PR to it.

@muayyad-alsadi
Copy link
Contributor

yes, there is, let me click that.

@barseghyanartur
Copy link
Author

@baude, @rhatdan:

Thanks. I see. Thanks for the quick answers. I did took a quick look at play kube.

Nowadays, most of the devs make use of docker-compose. What once used to be a third-party tool, became a core feature of docker and I think it's very well justified.

One way to attract more people to the project is to make it available and usable by larger audience.

If play kube is the way to orchestrate different containers with podman, it would be good to have that part documented (as in moving from docker and docker-compose to podman dedicated article/doc section).

Regarding the podman-compose, I have quickly tried it and it failed. I did use it on an existing docker-compose.yml config. Perhaps that wasn't a right assumption.

I personally think it's really cool to be able to state that docker can be an alias of podman. I think my expectations were partly caused by that statement.

@muayyad-alsadi:

Some guidance on how to use podman-compose instead of docker-compose would be great. :)

@muayyad-alsadi
Copy link
Contributor

I've followed this

https://help.github.com/articles/transferring-a-repository/

Screenshot from 2019-08-21 17-09-54

and got

Screenshot from 2019-08-21 17-09-39

@muayyad-alsadi
Copy link
Contributor

muayyad-alsadi commented Aug 21, 2019

Some guidance on how to use podman-compose instead of docker-compose would be great. :)

@barseghyanartur please try devel branch of podman compose on files in examples/

for example

curl -sSL -o ~/.local/bin/podman-compose https://raw.github.com/muayyad-alsadi/podman-compose/devel/podman-compose.py
chmod +x ~/.local/bin/podman-compose
cd examples/busybox
podman-compose up

@muayyad-alsadi
Copy link
Contributor

muayyad-alsadi commented Aug 21, 2019

The target account must not have a repository with the same name, or a fork in the same network.

@rhatdan you need to fork my repo first

@baude
Copy link
Member

baude commented Aug 21, 2019

Nowadays, most of the devs make use of docker-compose. What once used to be a third-party tool, became a core feature of docker and I think it's very well justified.

But as @rhatdan points out, compose is not technically part of the docker core. I know we are drawing lines here. Also, if i install docker on latest ubuntu, it doesnt install docker-compose. Anyways, podman generate and podman play is always being developed as we get input from users.

@rhatdan
Copy link
Member

rhatdan commented Aug 21, 2019

@muayyad-alsadi I created github.com/containers/podman-compose and made you the administrator, you can checkout it out, copy all of youre content to the new repo and then push it to github.com/containers/podman-compose.

@muayyad-alsadi
Copy link
Contributor

but in that case I guess we lose issues, history ,...etc.

when I clicked transfer it gave me

containers/podman-compose already exists and You don’t have the permission to create repositories on containers

would you please delete that and then fork my repo as user containers?
I hope that would work

https://help.github.com/en/articles/transferring-a-repository

@muayyad-alsadi
Copy link
Contributor

and made you the administrator

it seems I don't have any permission on containers/podman-compose

@muayyad-alsadi
Copy link
Contributor

sorry my bad I did not see the invitation

@muayyad-alsadi
Copy link
Contributor

it still gives me even after I accepted the invitation to become owner

containers/podman-compose already exists and You don’t have the permission to create repositories on containers

@rhatdan
Copy link
Member

rhatdan commented Aug 22, 2019

@muayyad-alsadi You need to fork the repo, and add your content to it, then open up a PR to containers/podman-compose and we can merge in your code.

@muayyad-alsadi
Copy link
Contributor

muayyad-alsadi commented Aug 22, 2019

that's not how github transfer work. that's just uploading a fresh code, in that way we lost all stars, issues, forks connections, and no redirect from old repo to new repo ...etc.

on the other hand if you fork my repo, then if I clicked transfer and you accept my transfer then github will redirect every one to your repo (starts, forks, urls)

@rhatdan
Copy link
Member

rhatdan commented Aug 22, 2019

Ok lets try that.

@rhatdan
Copy link
Member

rhatdan commented Aug 22, 2019

I have forked your repo into containers/podman-compose and added you as an admin

@barseghyanartur
Copy link
Author

GitHub transfer is a way to go. Fresh re-upload should not even be considered.

@barseghyanartur
Copy link
Author

Forking is a bad idea. It shall be transferred.

@barseghyanartur
Copy link
Author

@muayyad-alsadi
Copy link
Contributor

muayyad-alsadi commented Aug 22, 2019

I have forked your repo into containers/podman-compose and added you as an admin

that failed again. but I've successfully send a transfer request to your personal account.

I guess, you can transfer it from your personal account to containers because you have permission on both.

Please check your inbox and accept

@barseghyanartur
Copy link
Author

It shall be possible to transfer from personal account to organisation.

@vrothberg
Copy link
Member

I agree. A transfer will preserve the history etc. which would be very valuable to have.

@rhatdan
Copy link
Member

rhatdan commented Aug 22, 2019

@muayyad-alsadi I did not see any email?

@muayyad-alsadi
Copy link
Contributor

very strange

Screenshot from 2019-08-22 16-46-59

I'm not sure how you are supposed to accept that or where it's supposed to appear to your.

@barseghyanartur
Copy link
Author

@rhatdan:

Did you check your spam folder? :)

@itamarst
Copy link

Docker Compose just added support for running Docker CLI, instead of using API (docker/compose#6865). This would in theory enable plain old Docker Compose to work with podman, I think?

@mheon
Copy link
Member

mheon commented Aug 31, 2019 via email

@muayyad-alsadi
Copy link
Contributor

in theory enable plain old Docker Compose to work with podman, I think?

It does not work like that.
The main objective of podman-compose is to run unmodified docker-compose files rootless. It has to do some changes under the hood to make it work rootless for example, it creates a single pod and share its network namespace and add-host that point the name of the service to localhost which is the shared network namespace.

@vrothberg
Copy link
Member

I am closing this issue since podman-compose now resides at https://github.com/containers/podman-compose. Feel free to continue the conversation here or to move it over to https://github.com/containers/podman-compose.

@itamarst
Copy link

Docker Compose now supports calling out to Docker CLI, so it's possible Podman would work now... https://www.docker.com/blog/faster-builds-in-compose-thanks-to-buildkit-support/

@barseghyanartur
Copy link
Author

Hey, to ping back, I'm already successfully using podman and podman-compose as docker/docker-compose replacement.

@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 23, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/feature Categorizes issue or PR as related to a new feature. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

No branches or pull requests

8 participants