mirror of
https://github.com/podman-desktop/podman-desktop
synced 2026-04-21 17:47:22 +00:00
194 lines
No EOL
36 KiB
HTML
194 lines
No EOL
36 KiB
HTML
<!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.3018c742.css">
|
||
<script src="/assets/js/runtime~main.29de6de2.js" defer="defer"></script>
|
||
<script src="/assets/js/main.badcdfe3.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.4k</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 && 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)">"node"</span><span class="token instruction">, </span><span class="token instruction string" style="color:rgb(255, 121, 198)">"app.js"</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 2026. © 2026 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> |