<titledata-rh="true">Running a pod using a container or docker file | Podman Desktop</title><metadata-rh="true"name="viewport"content="width=device-width,initial-scale=1"><metadata-rh="true"name="twitter:card"content="summary_large_image"><metadata-rh="true"property="og:image"content="https://podman-desktop.io/img/banner_podman-desktop.png"><metadata-rh="true"name="twitter:image"content="https://podman-desktop.io/img/banner_podman-desktop.png"><metadata-rh="true"property="og:url"content="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"><metadata-rh="true"property="og:locale"content="en"><metadata-rh="true"name="docusaurus_locale"content="en"><metadata-rh="true"name="docsearch:language"content="en"><metadata-rh="true"name="docusaurus_version"content="current"><metadata-rh="true"name="docusaurus_tag"content="docs-tutorial-current"><metadata-rh="true"name="docsearch:version"content="current"><metadata-rh="true"name="docsearch:docusaurus_tag"content="docs-tutorial-current"><metadata-rh="true"property="og:title"content="Running a pod using a container or docker file | Podman Desktop"><metadata-rh="true"name="description"content="Create and run a pod from a container or docker file on your machine."><metadata-rh="true"property="og:description"content="Create and run a pod from a container or docker file on your machine."><metadata-rh="true"name="keywords"content="podman desktop,podman,pod,Containerfile,Dockerfile"><linkdata-rh="true"rel="icon"href="/img/favicon.ico"><linkdata-rh="true"rel="canonical"href="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"><linkdata-rh="true"rel="alternate"href="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"hreflang="en"><linkdata-rh="true"rel="alternate"href="https://podman-desktop.io/tutorial/running-a-pod-using-a-container-docker-file"hreflang="x-default"><linkdata-rh="true"rel="preconnect"href="https://MR01ANKQ9S-dsn.algolia.net"crossorigin="anonymous"><linkrel="alternate"type="application/rss+xml"href="/blog/rss.xml"title="Podman Desktop RSS Feed">
<linkrel="alternate"type="application/atom+xml"href="/blog/atom.xml"title="Podman Desktop Atom Feed">
<p>This tutorial covers the following end-to-end tasks a user requires to run a pod from a container or docker file:</p>
<ul>
<li>Building an image</li>
<li>Creating a container</li>
<li>Creating and running a pod</li>
</ul>
<p>When creating a container, you can set the following configurations:</p>
<ul>
<li>
<p>With <strong>Basic</strong> configuration, you have the option to:</p>
<ul>
<li>
<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>
<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>
<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>
<p>With <strong>Advanced</strong> configuration, you have the option of:</p>
<ul>
<li>Automatic removal of container</li>
<li>Specifying ID of the user who can run a container</li>
<li>Selecting a restart policy that defines whether a container should restart on exit</li>
</ul>
</li>
<li>
<p>With <strong>Networking</strong> configuration, you have the option of defining:</p>
<ul>
<li>A container host name</li>
<li>A custom DNS server</li>
<li>Additional hosts</li>
<li>The networking mode for a container</li>
</ul>
</li>
<li>
<p>With <strong>Security</strong> configuration, you have the option to:</p>
<ul>
<li>Secure you container resources</li>
<li>Make container root filesystem read-only</li>
<li>Add or drop security capabilities</li>
<li>Specify a namespace to restrict the usage of containers to a group of users with defined privileges and ownership</li>
</ul>
</li>
</ul>
<h2class="anchor anchorWithStickyNavbar_JmGV"id="before-you-begin">Before you begin<ahref="#before-you-begin"class="hash-link"aria-label="Direct link to Before you begin"title="Direct link to Before you begin"></a></h2>
<h2class="anchor anchorWithStickyNavbar_JmGV"id="building-an-image">Building an image<ahref="#building-an-image"class="hash-link"aria-label="Direct link to Building an image"title="Direct link to Building an image"></a></h2>
<ol>
<li>
<p>Click <strong>Containers</strong> in the left navigation pane.</p>
</li>
<li>
<p>Click <strong>Create</strong>.
<imgdecoding="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>
<p>On the <strong>Build image from Containerfile</strong> page, provide the following details:</p>
<ul>
<li>Containerfile path: Select the path where the container or docker file is placed.</li>
<li>Build context directory: The field automatically picks up the context directory based on the file path.</li>
<li>Image name: Enter the image name, if required.</li>
<li>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>Platform: Change the platform on which you want to build the image. The default platform is Intel and AMD x86_64 systems.
<imgdecoding="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>
<p>Click <strong>Build</strong>. The image starts to build.</p>
</li>
<li>
<p>Click <strong>Done</strong> once the image is built successfully.</p>
</li>
<li>
<p>View the newly created image on the <strong>Images</strong> page.</p>
</li>
</ol>
<h2class="anchor anchorWithStickyNavbar_JmGV"id="creating-a-container">Creating a container<ahref="#creating-a-container"class="hash-link"aria-label="Direct link to Creating a container"title="Direct link to Creating a container"></a></h2>
<ol>
<li>
<p>Click <strong>Images</strong> in the left navigation pane.</p>
</li>
<li>
<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.
<imgdecoding="async"loading="lazy"alt="running an image"src="/assets/images/run-image-8e07bb1386f655e5b2d7730eafe69081.png"width="1952"height="446"class="img_SS3x"></p>
</li>
<li>
<p>Optional: Configure the basic details of the container:
<imgdecoding="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>
<p>Optional: Select the <strong>Advanced</strong> tab to configure advanced details of the container:
<imgdecoding="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>
<p>Optional: Select the <strong>Networking</strong> tab to configure the networking details of the container:
<imgdecoding="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>
<p>Optional: Select the <strong>Security</strong> tab to configure the security details of the container:
<imgdecoding="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>
<p>Click <strong>Start Container</strong>.</p>
</li>
<li>
<p>Check the <strong>Container Details</strong> page for information, such as summary, logs, YAML code, and to access the terminal.
<p>Click the close icon on the right hand side of the page.</p>
</li>
<li>
<p>View the newly created container on the <strong>Containers</strong> page</p>
</li>
</ol>
<h2class="anchor anchorWithStickyNavbar_JmGV"id="creating-and-running-a-pod">Creating and running a pod<ahref="#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"></a></h2>
<ol>
<li>
<p>Go to <strong>Containers</strong> from the left navigation pane.</p>