### What does this PR do? We should be using Names from Podman container inspect to safely determine the name. Relying on labels unfortunatly causes issues. After much investigation, it's determined that the difference between a normal compose file and one that uses `container_name` for services, is ONLY the `Names` array returned in podman inspect. Labels do not change. This PR adds the following: * Uses Names rather than docker.compose.service labels in order to safely and more accurately determine a compose services name. This works by determining what the project name is and taking it away from Names array. Accurately does this even if container_name is supplied in compose.yaml ### Screenshot / video of UI <!-- If this PR is changing UI, please include screenshots or screencasts showing the difference --> ### What issues does this PR fix or reference? <!-- Include any related issues from Podman Desktop repository (or from another issue tracker). --> Closes https://github.com/containers/podman-desktop/issues/5028 ### How to test this PR? <!-- Please explain steps to verify the functionality, do not forget to provide unit/component tests --> - [X] Tests are covering the bug fix or the new feature 1. Test with a "normal" file and see that `-1` is added to compose names. ```yaml services: redis-leader: image: redis:latest redis-replica: image: redis:latest command: redis-server --replicaof redis-leader 6379 web: image: quay.io/kompose/web ``` 2. Test with a compose file that uses `container_name`, and see that the container name is propagated: ```yaml services: redis-leader: container_name: redis-leader image: redis:latest ports: - "6379" redis-replica: container_name: redis-replica image: redis:latest ports: - "6379" command: redis-server --replicaof redis-leader 6379 web: container_name: web image: quay.io/kompose/web ports: - "8080:8080" ``` Signed-off-by: Charlie Drage <charlie@charliedrage.com> |
||
|---|---|---|
| .chocolatey | ||
| .devcontainer | ||
| .github | ||
| .husky | ||
| .vale | ||
| .vscode | ||
| __mocks__/@podman-desktop | ||
| buildResources | ||
| extensions | ||
| packages | ||
| scripts | ||
| storybook | ||
| tests | ||
| tools | ||
| types | ||
| website | ||
| website-argos | ||
| .browserslistrc | ||
| .editorconfig | ||
| .electron-builder.config.cjs | ||
| .electron-vendors.cache.json | ||
| .eslintignore | ||
| .eslintrc.json | ||
| .flatpak-appdata.xml | ||
| .flatpak.desktop | ||
| .gitattributes | ||
| .gitignore | ||
| .markdownlint.yaml | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .vale.ini | ||
| ADOPTERS.md | ||
| CODE-OF-CONDUCT.md | ||
| CODEOWNERS | ||
| commitlint.config.cjs | ||
| CONTRIBUTING.md | ||
| featured.json | ||
| LICENSE | ||
| package.json | ||
| postcss.config.cjs | ||
| README.md | ||
| recommendations.json | ||
| RELEASE.md | ||
| SECURITY.md | ||
| tailwind-color-palette.json | ||
| tailwind.config.cjs | ||
| telemetry.json | ||
| USAGE_DATA.md | ||
| vitest-shared-extensions.config.js | ||
| vitest.config.js | ||
| WEBSITE_CONTRIBUTING.md | ||
| yarn.lock | ||
Podman Desktop - A graphical tool for developing on containers and Kubernetes
Documentation
- Overview
- Download
- Features
- Join Our Early Adopter Program (Optional)
- Roadmap
- Contributing
- Communication
- Code of Conduct
- License
Overview
Podman Desktop is a graphical interface that enables application developers to seamlessly work with containers and Kubernetes.
Podman Desktop installs, configures, and keeps Podman up to date on your local environment. It provides a system tray, to check status and interact with your container engine without losing focus from other tasks. The desktop application provides a dashboard to interact with containers, images, pods, and volumes but also configures your environment with your OCI registries and network settings. Podman Desktop also provides capabilities to connect and deploy pods to Kubernetes environments.
Podman Desktop also supports multiple container engines, pick your favourite one and use the tool!
Download
Check the downloads page on podman-desktop.io/downloads.
Features
Containers and pods dashboard
- Build, run, manage, and debug both containers and pods
- Run Pods on your container engine or with Kubernetes
- Convert your Pods to be running on Kubernetes
- Manage multiple container engines
Multiple container engine support
Podman engine update support
- Keep
podmanup-to-date on your PC by having Podman Desktop automatically install the newest version
System tray support
- Manage your Container engine
- Define your Kubernetes context
Enterprise capabilities
- Proxy Support
- OCI Image registries management
Bridge between local and remote environments
- Connect and deploy to both local or remote Kubernetes environments
- Change your Kubernetes context and pick your deployment environment
Join our early adopter program! (optional)
We are seeking developers who are interested in improving Podman Desktop!
Register your interest to join our Early Adopter Program by filling this form.
This is totally optional and does not change any Podman Desktop features.
Roadmap
All upcoming features are tracked with GitHub milestones.
Check out all our future features!
Contributing
Interested in fixing issues or contributing to Podman Desktop?
- 🐛 File bugs or feature requests on GitHub
- 🏁 Read our contributing guide
- 👌 Review or contribute a pull request
Communication
For all bug and feature requests please file a GitHub issue.
Discussions are done using GitHub Discussions.
Chatting
General questions & development:
- #podman-desktop on the Podman Discord
- #podman-desktop@libera.chat on IRC
- #podman-desktop@fedora.im on Matrix
Note: All channels are bridged. Chat on either Discord, IRC, or Matrix, and your messages will appear on all three platforms!
Kubernetes questions & development:
- #podman-desktop on the Kubernetes Slack
Adopters
Check out the list of companies already using Podman Desktop.
Code of Conduct
This project uses the Containers Community Code of Conduct.
Testing
License
Licensed under Apache 2.0.