podman-desktop/tutorial/running-a-pod-using-a-container-docker-file.html
github-actions[bot] 9fc29e0609 deploy: 673fc676ae
2025-12-10 08:57:28 +00:00

194 lines
No EOL
36 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-tutorial docs-version-current docs-doc-page docs-doc-id-running-a-pod-using-a-container-docker-file" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Running a pod using a container or docker file | Podman Desktop</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://podman-desktop.io/img/banner_podman-desktop.png"><meta data-rh="true" name="twitter:image" content="https://podman-desktop.io/img/banner_podman-desktop.png"><meta data-rh="true" property="og:url" content="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-tutorial-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-tutorial-current"><meta data-rh="true" property="og:title" content="Running a pod using a container or docker file | Podman Desktop"><meta data-rh="true" name="description" content="Create and run a pod from a container or docker file on your machine."><meta data-rh="true" property="og:description" content="Create and run a pod from a container or docker file on your machine."><meta data-rh="true" name="keywords" content="podman desktop,podman,pod,Containerfile,Dockerfile"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"><link data-rh="true" rel="alternate" href="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file" hreflang="en"><link data-rh="true" rel="alternate" href="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://MR01ANKQ9S-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Running a pod using a container or docker file","item":"https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"}]}</script><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Podman Desktop RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Podman Desktop Atom Feed">
<link rel="alternate" type="application/json" href="/blog/feed.json" title="Podman Desktop JSON Feed">
<link rel="search" type="application/opensearchdescription+xml" title="Podman Desktop" href="/opensearch.xml">
<link rel="preconnect" href="https://podman-desktop-website.goatcounter.com">
<script async src="//gc.zgo.at/count.js" data-goatcounter="https://podman-desktop-website.goatcounter.com/count"></script><link rel="stylesheet" href="/assets/css/styles.78798cd1.css">
<script src="/assets/js/runtime~main.fb5dae86.js" defer="defer"></script>
<script src="/assets/js/main.68e50a27.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_oPtH" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Podman Desktop Logo" class="themedComponent_siVc themedComponent--light_hHel" height="56"><img src="/img/logo.svg" alt="Podman Desktop Logo" class="themedComponent_siVc themedComponent--dark_yETr" height="56"></div><b class="navbar__title text--truncate">podman desktop</b></a><a class="navbar__item navbar__link" href="/docs/intro">Documentation</a><a class="navbar__item navbar__link" href="/downloads">Downloads</a><a class="navbar__item navbar__link" href="/community">Community</a><div class="navbar__item dropdown dropdown--hoverable"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Resources</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/features">Features</a></li><li><a aria-current="page" class="dropdown__link dropdown__link--active" href="/tutorial">Tutorials</a></li><li><a class="dropdown__link" href="/extend">Extend</a></li></ul></div><a class="navbar__item navbar__link" href="/blog">Blog</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/podman-desktop/podman-desktop" target="_blank" id="github-stars-button" rel="noopener noreferrer" class="navbar__item navbar__link hidden xl:flex items-center gap-2 px-4 mr-3 py-[9px] border border-black dark:border-white rounded-lg font-medium min-w-[9rem] text-base"><svg data-prefix="fab" data-icon="github" class="svg-inline--fa fa-github" role="img" viewBox="0 0 512 512" aria-hidden="true"><path fill="currentColor" d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg><span>Star</span><span id="github-stars-badge" class="ml-2 px-2 py-1 bg-gray-400 dark:bg-charcoal-600 rounded text-black dark:text-gray-100 text-xs min-w-[2.5rem] text-center">7.1k</span></a><div><a class="hidden xl:flex font-semibold no-underline hover:no-underline items-center text-white hover:text-white bg-gradient-to-b from-violet-500 to-violet-600 border-0 py-3 px-6 focus:outline-hidden hover:from-violet-600 hover:to-violet-700 rounded-lg text-base mt-0 mb-0 ml-4 mr-2" href="/downloads">Download</a></div><div class="toggle_ki11 colorModeToggle_Hewu"><button class="clean-btn toggleButton_MMFG toggleButtonDisabled_Uw7m" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_k9hJ lightToggleIcon_lgto"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_k9hJ darkToggleIcon_U96C"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_k9hJ systemToggleIcon_E5c0"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_bzqh"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20" aria-hidden="true"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_MB5r"><div class="docsWrapper__sE8"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_iEvu" type="button"></button><div class="docRoot_DfVB"><aside class="theme-doc-sidebar-container docSidebarContainer_c7NB"><div class="sidebarViewport_KYo0"><div class="sidebar_CUen"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_jmj1"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial"><span title="Introduction" class="linkLabel_fEdy">Introduction</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/tutorial/running-a-pod-using-a-container-docker-file"><span title="Running a pod using a container or docker file" class="linkLabel_fEdy">Running a pod using a container or docker file</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/running-a-kubernetes-cluster"><span title="Running a Kubernetes cluster" class="linkLabel_fEdy">Running a Kubernetes cluster</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/deploying-a-kubernetes-application"><span title="Deploying a Kubernetes application" class="linkLabel_fEdy">Deploying a Kubernetes application</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/interacting-with-a-database-server"><span title="Interacting with a database server" class="linkLabel_fEdy">Interacting with a database server</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/managing-your-application-resources"><span title="Managing your application resources" class="linkLabel_fEdy">Managing your application resources</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/running-an-ai-application"><span title="Running an AI application" class="linkLabel_fEdy">Running an AI application</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/creating-an-extension"><span title="Creating an extension" class="linkLabel_fEdy">Creating an extension</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/getting-started-with-compose"><span title="Getting started with Compose" class="linkLabel_fEdy">Getting started with Compose</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/tutorial/testcontainers-with-podman"><span title="Testcontainers with Podman" class="linkLabel_fEdy">Testcontainers with Podman</span></a></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_oTwn"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_pMEX"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_a9sJ"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_Qr34"><div class="docItemContainer_tjFy"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_T5ub" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_sfvy"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Running a pod using a container or docker file</span></li></ul></nav><div class="tocCollapsible_wXna theme-doc-toc-mobile tocMobile_Ojys"><button type="button" class="clean-btn tocCollapsibleButton_iI2p">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Running a pod using a container or docker file</h1></header>
<p>This tutorial covers the following end-to-end tasks required to run a pod from a container or docker file:</p>
<ul>
<li class="">Building an image</li>
<li class="">Creating a container</li>
<li class="">Creating and running a pod</li>
</ul>
<p>When creating a container, you can set the following configurations:</p>
<ul>
<li class="">
<p>With <strong>Basic</strong> configuration, you have the option to:</p>
<ul>
<li class="">
<p>Define volumes to configure a persistent storage location. For this, you must set up a host directory and then mount this directory to a container. You can keep your application data intact in your host directory even after your container is stopped or failed.</p>
</li>
<li class="">
<p>Define port mapping to create an externally accessible container. For this, you must map a host port with the container port. After this mapping, any requests to port on the host are forwarded to port in the container.</p>
</li>
<li class="">
<p>Select a file containing environment variables for your container. This file contains data in the <code>key=value</code> format.</p>
</li>
</ul>
</li>
<li class="">
<p>With <strong>Advanced</strong> configuration, you have the option of:</p>
<ul>
<li class="">Automatic removal of container</li>
<li class="">Specifying ID of the user who can run a container</li>
<li class="">Selecting a restart policy that defines whether a container should restart on exit</li>
</ul>
</li>
<li class="">
<p>With <strong>Networking</strong> configuration, you have the option of defining:</p>
<ul>
<li class="">A container host name</li>
<li class="">A custom DNS server</li>
<li class="">Additional hosts</li>
<li class="">The networking mode for a container</li>
</ul>
</li>
<li class="">
<p>With <strong>Security</strong> configuration, you have the option to:</p>
<ul>
<li class="">Secure you container resources</li>
<li class="">Make container root filesystem read-only</li>
<li class="">Add or drop security capabilities</li>
<li class="">Specify a namespace to restrict the usage of containers to a group of users with defined privileges and ownership</li>
</ul>
</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="before-you-begin">Before you begin<a href="#before-you-begin" class="hash-link" aria-label="Direct link to Before you begin" title="Direct link to Before you begin" translate="no"></a></h2>
<p>Make sure you have:</p>
<ul>
<li class=""><a class="" href="/docs/installation">Installed Podman Desktop</a>.</li>
<li class=""><a class="" href="/docs/podman/creating-a-podman-machine">A running Podman machine</a>.</li>
<li class="">A developer role.</li>
<li class="">Created a docker file using the following code, if you do not have one on your machine:</li>
</ul>
<div class="language-dockerfile codeBlockContainer_mQmQ theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_t_Hd"><pre tabindex="0" class="prism-code language-dockerfile codeBlock_RMoD thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_AclH"><span class="token-line" style="color:#F8F8F2"><span class="token comment" style="color:rgb(98, 114, 164)"># syntax=docker/dockerfile:1</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">ARG</span><span class="token instruction"> NODE_VERSION</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">ARG</span><span class="token instruction"> ALPINE_VERSION</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token instruction"> node:</span><span class="token instruction variable" style="color:rgb(189, 147, 249);font-style:italic">${NODE_VERSION}</span><span class="token instruction">-alpine</span><span class="token instruction variable" style="color:rgb(189, 147, 249);font-style:italic">${ALPINE_VERSION}</span><span class="token instruction"> </span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token instruction"> base</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">WORKDIR</span><span class="token instruction"> /src</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token instruction"> base </span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token instruction"> build</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">COPY</span><span class="token instruction"> package*.json ./</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">RUN</span><span class="token instruction"> npm ci</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">RUN</span><span class="token instruction"> npm run build</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">FROM</span><span class="token instruction"> base </span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">AS</span><span class="token instruction"> production</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">COPY</span><span class="token instruction"> package*.json ./</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">RUN</span><span class="token instruction"> npm ci --omit=dev &amp;&amp; npm cache clean --force</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">COPY</span><span class="token instruction"> </span><span class="token instruction options property">--from</span><span class="token instruction options punctuation" style="color:rgb(248, 248, 242)">=</span><span class="token instruction options string" style="color:rgb(255, 121, 198)">build</span><span class="token instruction"> /src/dist/ .</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"></span><span class="token instruction keyword" style="color:rgb(189, 147, 249);font-style:italic">CMD</span><span class="token instruction"> [</span><span class="token instruction string" style="color:rgb(255, 121, 198)">&quot;node&quot;</span><span class="token instruction">, </span><span class="token instruction string" style="color:rgb(255, 121, 198)">&quot;app.js&quot;</span><span class="token instruction">]</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="building-an-image">Building an image<a href="#building-an-image" class="hash-link" aria-label="Direct link to Building an image" title="Direct link to Building an image" translate="no"></a></h2>
<ol>
<li class="">
<p>Click <strong>Containers</strong> in the left navigation pane.</p>
</li>
<li class="">
<p>Click <strong>Create</strong>.
<img decoding="async" loading="lazy" alt="Create a new container" src="/assets/images/create-a-new-container-c3419d57d22da0359935309ddd5c742c.png" width="1178" height="525" class="img_SS3x"></p>
</li>
<li class="">
<p>On the <strong>Build image from Containerfile</strong> page, provide the following details:</p>
<ul>
<li class="">Containerfile path: Select the path where the container or docker file is placed.</li>
<li class="">Build context directory: The field automatically picks up the context directory based on the file path.</li>
<li class="">Image name: Enter the image name, if required.</li>
<li class="">Build arguments: Pass the required arguments to build the image. This example uses arguments, such as <code>NODE_VERSION</code> and <code>ALPINE_VERSION</code></li>
<li class="">Platform: Change the platform on which you want to build the image. The default platform is Intel and AMD x86_64 systems.
<img decoding="async" loading="lazy" alt="Build an image from a containerfile" src="/assets/images/build-image-from-containerfile-d842ceedd3110ec55205a6e64c2ced86.png" width="1952" height="1260" class="img_SS3x"></li>
</ul>
</li>
<li class="">
<p>Click <strong>Build</strong>. The image starts to build.</p>
</li>
<li class="">
<p>Click <strong>Done</strong> once the image is built successfully.</p>
</li>
<li class="">
<p>View the newly created image on the <strong>Images</strong> page.</p>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="creating-a-container">Creating a container<a href="#creating-a-container" class="hash-link" aria-label="Direct link to Creating a container" title="Direct link to Creating a container" translate="no"></a></h2>
<ol>
<li class="">
<p>Click <strong>Images</strong> in the left navigation pane.</p>
</li>
<li class="">
<p>Click the <strong>Run Image</strong> icon corresponding to the image you want to run. The <strong>Create a container from image page</strong> opens.
<img decoding="async" loading="lazy" alt="running an image" src="/assets/images/run-image-8e07bb1386f655e5b2d7730eafe69081.png" width="1952" height="446" class="img_SS3x"></p>
</li>
<li class="">
<p>Optional: Configure the basic details of the container:
<img decoding="async" loading="lazy" alt="basic details of a container" src="/assets/images/basic-config-container-c935b251ea9a74db43ced66947495630.png" width="2432" height="1224" class="img_SS3x"></p>
</li>
<li class="">
<p>Optional: Select the <strong>Advanced</strong> tab to configure advanced details of the container:
<img decoding="async" loading="lazy" alt="advanced details of a container" src="/assets/images/advanced-config-container-563bf8a672ec90dc564ad1efb2208a5d.png" width="2432" height="1224" class="img_SS3x"></p>
</li>
<li class="">
<p>Optional: Select the <strong>Networking</strong> tab to configure the networking details of the container:
<img decoding="async" loading="lazy" alt="networking details of a container" src="/assets/images/networking-config-container-29f121b925232c90f2124a1ddcd2f830.png" width="2432" height="1224" class="img_SS3x"></p>
</li>
<li class="">
<p>Optional: Select the <strong>Security</strong> tab to configure the security details of the container:
<img decoding="async" loading="lazy" alt="security details of a container" src="/assets/images/security-config-container-6355b3f3990f8db753ad03df3f7c33d2.png" width="2432" height="1224" class="img_SS3x"></p>
</li>
<li class="">
<p>Click <strong>Start Container</strong>.</p>
</li>
<li class="">
<p>Check the <strong>Container Details</strong> page for information, such as summary, logs, YAML code, and to access the terminal.
<img decoding="async" loading="lazy" alt="container details page" src="/assets/images/container-details-page-42130fb2c004a3970bed9c92d2c10b6a.png" width="2432" height="1018" class="img_SS3x"></p>
</li>
<li class="">
<p>Click the <strong>close</strong> icon on the right hand side of the page.</p>
</li>
<li class="">
<p>View the newly created container on the <strong>Containers</strong> page.</p>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="creating-and-running-a-pod">Creating and running a pod<a href="#creating-and-running-a-pod" class="hash-link" aria-label="Direct link to Creating and running a pod" title="Direct link to Creating and running a pod" translate="no"></a></h2>
<ol>
<li class="">
<p>Go to <strong>Containers</strong> from the left navigation pane.</p>
</li>
<li class="">
<p>Select the containers from the container list.
<img decoding="async" loading="lazy" alt="selecting containers" src="/assets/images/selecting-containers-534731d085f40875fcb68de89e4d4e46.png" width="2432" height="658" class="img_SS3x"></p>
</li>
<li class="">
<p>Click <strong>Create Pod</strong>. The <strong>Copy containers to a pod</strong> page opens.</p>
</li>
<li class="">
<p>Change the name of the pod if required and click <strong>Create Pod</strong>.
<img decoding="async" loading="lazy" alt="creating pods" src="/assets/images/creating-a-pod-1dcd8844fa8619b3ce915df9046eaf3e.png" width="2432" height="826" class="img_SS3x"></p>
</li>
<li class="">
<p>View the newly created pod on the <strong>Pods</strong> page.</p>
</li>
<li class="">
<p>Click the <strong>Start Pod</strong> icon corresponding to the pod you created.</p>
</li>
<li class="">
<p>Check that the pod is running on the same page.
<img decoding="async" loading="lazy" alt="running pod" src="/assets/images/my-pod-d0605843631636e62b1bf8baf34a981e.png" width="1072" height="215" class="img_SS3x"></p>
</li>
</ol></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-tags-row"><div class="col"><b>Tags:</b><ul class="tags_Ow0B padding--none margin-left--sm"><li class="tag_DFxh"><a rel="tag" class="tag_otG2 tagRegular_s0E1" href="/tutorial/tags/podman-desktop">podman-desktop</a></li><li class="tag_DFxh"><a rel="tag" class="tag_otG2 tagRegular_s0E1" href="/tutorial/tags/running-a-pod-from-docker-file">running-a-pod-from-docker-file</a></li><li class="tag_DFxh"><a rel="tag" class="tag_otG2 tagRegular_s0E1" href="/tutorial/tags/running-a-pod-from-container-file">running-a-pod-from-container-file</a></li></ul></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/tutorial"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Introduction</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/tutorial/running-a-kubernetes-cluster"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Running a Kubernetes cluster</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_XG6w thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#before-you-begin" class="table-of-contents__link toc-highlight">Before you begin</a></li><li><a href="#building-an-image" class="table-of-contents__link toc-highlight">Building an image</a></li><li><a href="#creating-a-container" class="table-of-contents__link toc-highlight">Creating a container</a></li><li><a href="#creating-and-running-a-pod" class="table-of-contents__link toc-highlight">Creating and running a pod</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Documentation</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/docs/installation">Installing Podman Desktop</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/migrating-from-docker">Migrating from Docker</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/kubernetes">Working with Kubernetes</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/troubleshooting">Troubleshooting</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Links</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/podman-desktop/podman-desktop" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPrP"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://discord.com/invite/x5GzFF6QH4" target="_blank" rel="noopener noreferrer" class="footer__link-item">Chat (bridged): #podman-desktop on Discord<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPrP"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://github.com/podman-desktop/podman-desktop#communication" target="_blank" rel="noopener noreferrer" class="footer__link-item">Other ways to Communicate<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPrP"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://github.com/orgs/podman-desktop/projects/4/views/3" target="_blank" rel="noopener noreferrer" class="footer__link-item">Current Sprint<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPrP"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">
<div class="flex flex-col items-start text-left gap-4">
<div class="w-96 mt-8 mb-8">
<img class="dark:hidden" alt="Cloud Native Computing Foundation" src="/img/cncf-logo.svg">
<img class="hidden dark:inline" alt="Cloud Native Computing Foundation" src="/img/cncf-logo-dark.svg">
</div>
<div class="text-sm">
<p class="mb-1">We are a <a href="https://cncf.io/" class="underline">Cloud Native Computing Foundation</a> sandbox project.</p>
<p class="mb-1">© Copyright Podman Desktop Contributors 2025. © 2025 The Linux Foundation. All rights reserved.</p>
<p class="mb-1">The Linux Foundation has registered trademarks and uses trademarks.
For a list of trademarks of The Linux Foundation, please see our
<a href="https://www.linuxfoundation.org/trademark-usage/" class="underline"> Trademark Usage</a> page.</p>
</div>
</div>
</div></div></div></footer></div>
</body>
</html>