{"id":540717,"date":"2023-01-19T04:48:42","date_gmt":"2023-01-19T01:48:42","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/"},"modified":"2023-01-19T04:48:42","modified_gmt":"2023-01-19T01:48:42","slug":"getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/","title":{"rendered":"#Getting Started With Podman Desktop, an Open Source Docker Desktop Alternative"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6ad02d6eda270\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6ad02d6eda270\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#%E2%80%9CGetting_Started_With_Podman_Desktop_an_Open_Source_Docker_Desktop_Alternative%E2%80%9D\" >&#8220;Getting Started With Podman Desktop, an Open Source Docker Desktop Alternative&#8221;<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#What_Is_Podman_Desktop\" >What Is Podman Desktop?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Getting_Started\" >Getting Started<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Exploring_Podman_Desktop\" >Exploring Podman Desktop<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Running_Containers\" >Running Containers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Managing_Containers\" >Managing Containers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Managing_Images\" >Managing Images<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Managing_Volumes\" >Managing Volumes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Using_Kubernetes\" >Using Kubernetes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Installing_Extensions\" >Installing Extensions<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/buradabiliyorum.com\/en\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/#Summary\" >Summary<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"%E2%80%9CGetting_Started_With_Podman_Desktop_an_Open_Source_Docker_Desktop_Alternative%E2%80%9D\"><\/span>&#8220;Getting Started With Podman Desktop, an Open Source Docker Desktop Alternative&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<div>\n<a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/podman-desktop.io\">Podman Desktop<\/a> is a free alternative to Docker Desktop that\u2019s another great option for local development use. It offers a similar feature set while remaining entirely open-source, letting you avoid the licensing implications of <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.docker.com\/blog\/looking-for-a-docker-alternative-consider-this\">using Docker\u2019s product<\/a>.<\/p>\n<p>In this article, you\u2019ll learn how to install and get started with Podman Desktop to run containers and deploy to Kubernetes. The experience will be familiar if you\u2019ve previously used Docker Desktop but it should also be quick to pick up anew.<\/p>\n<h2 id=\"what-is-podman-desktop\"><span class=\"ez-toc-section\" id=\"What_Is_Podman_Desktop\"><\/span>What Is Podman Desktop?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Podman is an OCI container engine that you can use instead of Docker. The Podman CLI is intentionally similar to Docker\u2019s; you can convert most commands by simply substituting <code>podman<\/code> instead of <code>docker<\/code>, such as <code>podman run<\/code> and <code>podman push<\/code>.<\/p>\n<p>Podman Desktop is an official graphical interface for Podman\u2019s functionality. In addition to wr<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>ing the Podman CLI, it bundles extra features including Kubernetes integration and third-party extensions. You can use Desktop to conveniently interact with containers and related resources on your workstation, if you want to avoid running terminal commands.<\/p>\n<h2 id=\"getting-started\"><span class=\"ez-toc-section\" id=\"Getting_Started\"><\/span>Getting Started<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Make sure you\u2019ve got the regular Podman CLI installed before you start using Podman Desktop. Desktop needs to detect the CLI to manage your containers. You can find detailed installation instructions <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/podman.io\/getting-started\/installation\">in the Podman docs<\/a>.<\/p>\n<p>Next, download the latest Podman Desktop release from the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/podman-desktop.io\/downloads\">project\u2019s website<\/a>. Alternatively, use one of the following commands to install using your system\u2019s package manager:<\/p>\n<ul>\n<li><strong>Windows<\/strong> \u2013 <code>winget install -e --id RedHat.Podman-Desktop<\/code><\/li>\n<li><strong>macOS<\/strong> \u2013 <code>brew install podman-desktop<\/code><\/li>\n<li><strong>Linux<\/strong> \u2013 <code>flatpak install --user flathub io.podman_desktop.PodmanDesktop<\/code><\/li>\n<\/ul>\n<p>Now you can launch Podman Desktop. You should see Podman is successfully detected. The homescreen will also display any other container environments available on your system, such as a Docker Engine installation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage alignnone size-full wp-image-865910\" data-pagespeed-no-defer=\"\" src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-14-46-11.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of the Podman Desktop dashboard\" width=\"1300\" height=\"775\"\/><\/p>\n<h2 id=\"exploring-podman-desktop\"><span class=\"ez-toc-section\" id=\"Exploring_Podman_Desktop\"><\/span>Exploring Podman Desktop<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Podman Desktop\u2019s interface is split into five main sections which you can switch between using the left sidebar. There\u2019s also a separate Settings menu, accessed at the bottom of the sidebar, where you can configure your container engines, enable HTTP proxies, and supply image registry credentials.<\/p>\n<h3 id=\"running-containers\"><span class=\"ez-toc-section\" id=\"Running_Containers\"><\/span>Running Containers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The Containers tab is where you\u2019ll spend most of your time. It displays all the containers that exist in your environment. To create a new container, press the purple \u201cCreate container\u201d button in the top-right.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865911\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-15-33-37.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of the Podman Desktop containers screen in its empty state\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You\u2019ll be prompted to choose between building a Containerfile or Dockerfile, or starting a container from an existing image:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865912\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-15-34-36.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of creating a container in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>If you choose \u201cFrom Containerfile\/Dockerfile\u201d, you\u2019ll need to select the path to your file by clicking in the \u201cContainerfile path\u201d input on the next screen. You can use any existing Dockerfile; the Containerfile terminology is simply a more generic alternative. Supply an initial tag for your image in the \u201cImage Name\u201d field, then press the \u201cBuild\u201d button to build your image.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865913\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-15-38-01.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of building an image in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The build command\u2019s output will be shown in an embedded terminal window. Click the Done button to continue. You\u2019ll be taken to the Images screen where your new image will be displayed. If you opt not to build a new image, you\u2019ll land on the Images screen after you press the \u201cFrom existing image\u201d button in the container creation dialog.<\/p>\n<p>Next, hover over any image and click the play button that appears on the right side of the screen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865914\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-15-41-00.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of images in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Now you can configure the properties of your new container instance. Assign a name for your container, mount any volumes you require, and set environment variables on the \u201cBasic\u201d tab:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865915\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-15-41-26.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of creating a container in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The Advanced tab lets you attach a TTY, set the user that the container runs as, and change the restart policy that\u2019ll apply:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865916\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-15-43-37.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of creating a container in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Networking configures the container\u2019s network stack, including its hostname, <code>\/etc\/hosts<\/code> file entries, and DNS configuration:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865933\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-17-07-37.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of networking settings when creating a container in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Finally, the Security tab lets you activate privileged mode (if you know you require it), modify the container\u2019s kernel capabilities, and specify a read-only filesystem if you expect an immutable environment:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865934\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-17-07-41.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of security settings when creating a container in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Once you\u2019re done configuring your container, click the purple \u201cStart Container\u201d button at the bottom of the screen to run it. It\u2019ll show up back on the Containers screen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865935\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-17-07-53.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of containers in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>\u00a0<\/p>\n<h3 id=\"managing-containers\"><span class=\"ez-toc-section\" id=\"Managing_Containers\"><\/span>Managing Containers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Hovering over containers reveals actions that let you stop or delete them. You can also use the checkboxes on the left side to select multiple containers and apply actions in bulk.<\/p>\n<p>Clicking the three dots button on the far right reveals an overflow menu with more options. Here, you can im<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a>tely restart your container, or quickly launch a terminal session.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865917\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-01-16.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of viewing a container's menu in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Click any container to view its details. This yields a tabbed interface where you can access the container\u2019s logs, <code>podman inspect<\/code> output, and terminal session.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865918\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-01-50.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of viiewing a container's details in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h3 id=\"managing-images\"><span class=\"ez-toc-section\" id=\"Managing_Images\"><\/span>Managing Images<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Images are managed in a similar way. Click any image to access its details, including its <code>podman inspect<\/code> output and layer history.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865919\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-03-24.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of viewing an image's history in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Click the \u201cPull Image\u201d button in the top-right of the Images screen to pull a new remote image into your environment. You\u2019ll be prompted to enter the image you want to pull, such as <code>ubuntu:latest<\/code> or <code>registry.example.com\/private-image:v1<\/code>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865920\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-04-04.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of pulling an image in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Podman will download the image when you press the \u201cPull Image\u201d button. Progress is displayed in an inline terminal window.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865921\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-05-13.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of pulling an image in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>To use images in private registries, you need to set up authentication credentials first. Press the \u201cManage Registries\u201d button on the Pull Image screen, or navigate to Settings &gt; Add Registries, then press the \u201cAdd registry\u201d button in the bottom right. Enter your registry\u2019s hostname and supply your username and password. Click the Login button to authenticate.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865922\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-06-26.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of supplying registry credentials in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h3 id=\"managing-volumes\"><span class=\"ez-toc-section\" id=\"Managing_Volumes\"><\/span>Managing Volumes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The Volumes screen provides an overview of all the persistent volumes you\u2019ve created, including their age and total size:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865937\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-17-11-57.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of volumes in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Clicking a volume reveals its <code>podman inspect<\/code> output:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865923\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-36-46.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of viewing volume details in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You can delete a volume by clicking the button in the top-right.<\/p>\n<h3 id=\"using-kubernetes\"><span class=\"ez-toc-section\" id=\"Using_Kubernetes\"><\/span>Using Kubernetes<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Podman has integrated Kubernetes support. This is surfaced in Podman Desktop\u2019s Pods screen. Pods in Podman are equivalent to Kubernetes Pods, being a collection of multiple containers that are grouped together. To deploy a Pod, click the \u201cPlay Kubernetes YAML\u201d button in the top-right.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865924\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-39-12.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of Pods in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Supply the path to your YAML file on the screen that appears:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865925\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-41-10.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of creating a Pod in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>You can use this simple Pod manifest if you don\u2019t have one available:<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"yaml\">\n<pre class=\"de1\"><strong class=\"co3\">apiVersion<\/strong><strong class=\"sy2\">: <\/strong>v1<strong class=\"co3\">\nkind<\/strong><strong class=\"sy2\">: <\/strong>Pod<strong class=\"co4\">\nmetadata<\/strong>:<strong class=\"co3\">\n  name<\/strong><strong class=\"sy2\">: <\/strong>nginx<strong class=\"co4\">\nspec<\/strong>:<strong class=\"co4\">\n  containers<\/strong>:<strong class=\"co3\">\n    - image<\/strong><strong class=\"sy2\">: <\/strong>nginx:latest<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>When you click the \u201cPlay\u201d button, Podman will deploy the Pods defined by your manifest. The created Pod IDs are shown in the embedded terminal window\u2019s output.<\/p>\n<p>You\u2019ll now see your Pod appear on the Pods screen:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865926\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-42-54.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of Pods in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Pods are still containers running in Podman. To deploy to a <em>real<\/em> Kubernetes cluster, expand the Pod\u2019s three dots menu and select the \u201cDeploy to Kubernetes\u201d action.<\/p>\n<p>On the next screen, choose whether to replace <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/overview\/#services\"><code>hostPort<\/code> bindings<\/a> with Kubernetes services. This is\u00a0 safer as it prevents Pods being directly bound to ports on your cluster\u2019s Nodes. Click \u201cDeploy\u201d to launch your Pod into your active Kubernetes cluster, as defined by your <code>~.kube\/config<\/code> file. You can choose a different cluster connection in the settings menu.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865927\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-43-25.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of deploying to Kubernetes from Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Podman Desktop incorporates convenience features for moving between local containers and Kubernetes clusters. The \u201cKube\u201d tab on the container details screen provides an auto-generated Kubernetes YAML file for any container in your environment, allowing you to deploy without manually writing manifests.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865928\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-45-13.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of viewing a container's Kubernetes manifest in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h3 id=\"installing-extensions\"><span class=\"ez-toc-section\" id=\"Installing_Extensions\"><\/span>Installing Extensions<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Podman Desktop supports most <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/docs.docker.com\/desktop\/extensions\">Docker Desktop extensions<\/a> so you can add custom functionality. Extensions are distributed as container images with specially prepared content. You can find them <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/hub.docker.com\/search?q=&amp;type=extension\">on Docker Hub<\/a> by filtering to the Extension content type.<\/p>\n<p>\u00a0<\/p>\n<p>Once you\u2019ve found an extension you\u2019d like to use, add it to Podman Desktop by heading to Settings &gt; Desktop Extensions. Paste the extension\u2019s image name into the input field, then press the \u201cInstall extension from the OCI image\u201d button. The installation logs will be shown below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865929\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-50-06.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of installing an extension in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The extension\u2019s UI will then be available back in the main Podman Desktop interface, under the Extensions sidebar item.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-865930\" data-pagespeed-lazy-src=\"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-16-50-11.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"image of using an extension in Podman Desktop\" width=\"1300\" height=\"775\" src=\"\/pagespeed_static\/1.JiBnMqyl6S.gif\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Podman Desktop is a graphical tool for managing Podman container environments. You can interact with the containers, images, and volumes on your machine, deploy Kubernetes manifests, and monitor logs, all within a single interface. Podman Desktop\u2019s also compatible with Docker Desktop extensions so you can access additional integrations developed by the wider container ecosystem.<\/p>\n<p>These capabilities mean Podman Desktop can often be used as a drop-in replacement for Docker Desktop. You\u2019ll need to stick with Docker if you rely on its collaboration, enterprise management, and development environment <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.docker.com\/products\/docker-desktop\">functions<\/a>, though. Podman doesn\u2019t offer anything comparable to these, instead focusing on <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/podman-desktop.io\/core-values\">offering a fast, light, and open<\/a> container experience.<\/p>\n<\/div>\n<p><script>\n setTimeout(function(){\n  !function(f,b,e,v,n,t,s)\n  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n  n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n  n.queue=[];t=b.createElement(e);t.async=!0;\n  t.src=v;s=b.getElementsByTagName(e)[0];\n  s.parentNode.insertBefore(t,s) } (window, document,'script',\n  'https:\/\/connect.facebook.net\/en_US\/fbevents.js');\n   fbq('init', '335401813750447');\n   fbq('track', 'PageView');\n  },3000);\n<\/script><\/p>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.howtogeek.com\/devops\/getting-started-with-podman-desktop-an-open-source-docker-desktop-alternative\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;Getting Started With Podman Desktop, an Open Source Docker Desktop Alternative&#8221; Podman Desktop is a free alternative to Docker Desktop that\u2019s another great option for local development use. It offers a similar feature set while remaining entirely open-source, letting you avoid the licensing implications of using Docker\u2019s product. In this article, you\u2019ll learn how to&#8230;<\/p>\n","protected":false},"author":1,"featured_media":540718,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.howtogeek.com\/wp-content\/uploads\/2023\/01\/Screenshot-from-2023-01-17-14-46-11.png?height=200p&trim=2,2,2,2","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-540717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/540717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=540717"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/540717\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/540718"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=540717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=540717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=540717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}