-
Notifications
You must be signed in to change notification settings - Fork 303
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
Podman support #116
Comments
Ideally all OCI container utilities would be supported. podman, for example, is the default utility for Fedora Silverblue. |
On the top of the this, "Red Hat 8, Oracle Linux 8" all default to using OCI/podman by default. |
Well friends after the latest release of Fedora more and more people need this support. Please make it happen for us humble devs. |
Not having to make my system easily compromisable by having docker run with root privileges is awesome, that is what Podman gives us. Now, also being able to use tooling that works with this superior way, would be even greater. |
There is a package on certain OS that basically makes the "Docker version 17.06.1 or later required" Maybe we could just add a switch to the plugin to enable validation of Podman's version output. Let me poke at the code here... |
Bumped into containers/podman#5046 while exploring this. We would need that fixed to run our existing code with the Podman CLI. @thoraxe What package on which OS? Maybe we can change the check on our side to enable this. |
The main issue is that the extension wants to talk to Docker via its socket, which Podman does not implement currently, although they are working on it: containers/podman#4499 |
I have removed the dependency on dockerode, so we can run with the CLI alone (#2481). When trying to attach to an existing container, it now fails due to containers/podman#5046 when trying to copy the server bits over. |
You might find these news interesting: https://podman.io/blogs/2020/01/17/podman-new-api.html tl;dr: you will be able soon to use Docker API to interact with podman. |
Marking as upstream for containers/podman#5046. |
@chrmarti , it was fixed in one of podman dependencies, upgrade conmon to >= 2.0.14 |
For those waiting for this feature, here is my workaround using ssh:
I assumes that your repositories are in then connect to 127.0.0.1 port 2222 and install any necessary tools |
Relaxing the version check when the There were a few differences that required changes in our code:
|
We might want to introduce a setting for the CLI name/path to use. For now you need to place a symlink |
So it's not clear to me. Then vscode was using the Docker's API or CLI? 🤔 And to make it use podman we have to start the API server or symlink the binary? I guess docs would help. |
We changed from using the CLI and the API to only using the CLI (above: #116 (comment)). So symlinking the binary is all that is needed. 👍 |
Available with Remote-Containers 0.113.0 for VS Code Insiders (later for VS Code 1.45). |
Oops I missed that comment! Wouldn't it be possible to indicate the path to the docker binary, just like with other tools? I say so because I actually need docker and podman together for now... 🙄 |
Can someone write a list of all the steps needed to get this working, please ? |
According to https://github.com/microsoft/vscode-docs/blob/master/remote-release-notes/v1_45.md#podman-support, we only need to set up One thing is breaking for me when running rootless Seems relevant: containers/podman#2898. It's likely the remote container plugin needs to pass different CLI flags to |
@TerrorJack For me this seemed to be a SELinux issue. You can disable SELinux by passing a flag to podman as a run arg. This can be done by adding |
Once you get past that error you'll run into containers/podman#6083 when you attempt to launch a remote container. It's already fixed in containers/podman#6091 upstream but at least on my machine that build isn't returning anything from |
Does anybody know if the following issue is solved on next release?
It's not cool that vscode gaining full root in case vscode and rootful docker is running on linux. |
@TerrorJack @smekkley Could you open an issue with brief steps to reproduce the rootless problem? VS Code doesn't need to run as root, but we might still be missing some details with Podman. |
Thanks for the reply. I was looking for up-to-date information. The documentation says it has a partial support for podman and I saw this issue was closed, so I thought that what I quoted from the documentation is outdated. With my version, I still have to create symlink to docker. Maybe it's fixed on next release? Fedora doesn't come with docker, so it'd be great if there is a git issue to handle this. This git issue seems to have a perfect title. |
When you mention it, I assume that podman supports specifying the socket, so that you can use command line the same way. AFAIK, it's possible through podman remote through ssh. If it's not possible with new podman socket, podman should support it otherwise. |
@smekkley Still working on my Podman expertise, could you open a feature request with more details on how to achieve this? |
OK. Thanks. But I think we can conclude that the following is not solved yet for anyone who come across this issue.
|
Docker-in-Docker configuration is officially supported by the Docker because there is an official docid image in the repository called Docker. I think it is right to ask RedHat via GithubHub about official Podma-in-Podman or Podman-in-Docker images. There are too many combinations to check in blind. |
You can install
#2887 seems already fixed.
Upstream issue: containers/podman#6219 |
Thanks for all the responses. You guys are the most helpful IDE developers. |
podman is basicly a docker clone, it can even use the same Dockerfiles main difference is it doesnt need root or being in a special group.
https://podman.io
The text was updated successfully, but these errors were encountered: