Install Podman Desktop

1
0
Send lab feedback

Install Podman Desktop

Introduction

Podman Desktop is a Graphical User Interface (GUI) for the Podman CLI, providing an easy way to interact with the Podman engine. Besides making it easy to confirm the status of the Podman engine itself, it also provides an easy way to review and interact with any containers deployed, images stored, and Podman pods and volumes that are present on the machine. On the other hand, note that it does not provide any extra functionality that is not available from the command-line.

Objectives

This lab shows how to install and run Podman Desktop then demonstrates a basic overview of the Podman Desktop functionality it provides. The main steps described are outlined below:

  • Install Podman Desktop
  • Verify basic Podman Desktop functionality works

What Do You Need?

  • A client system with Oracle Linux and the "Server with GUI' group installed
  • Podman installed (the 'container-tools' package)
  • Access to the Internet

Setup the Lab Environment

Note: When using the free lab environment, see Oracle Linux Lab Basics for connection and other usage instructions.

  1. Open a terminal and connect via ssh to the ol-server instance if not already connected.

    ssh oracle@<ip_address_of_instance>

Confirm Podman works

The container-tools package in Oracle Linux provides the latest versions of Podman, Buildah, Skopeo, and associated dependencies.

  1. Check the version of Podman.

    podman -v
  2. Confirm the Podman CLI is working.

    podman run quay.io/podman/hello

    Example Output:

    [oracle@ol-server ~]$ podman run quay.io/podman/hello
    Trying to pull quay.io/podman/hello:latest...
    Getting image source signatures
    Copying blob f82b04e85914 done  
    Copying config dbd85e09a1 done  
    Writing manifest to image destination
    Storing signatures
    !... Hello Podman World ...!
    
             .--"--.           
           / -     - \         
          / (O)   (O) \        
       ~~~| -=(,Y,)=- |         
        .---. /`  \   |~~      
     ~/  o  o \~~~~.----. ~~   
      | =(X)= |~  / (O (O) \   
       ~~~~~~~  ~| =(Y_)=-  |   
      ~~~~    ~~~|   U      |~~ 
    
    Project:   https://github.com/containers/podman
    Website:   https://podman.io
    Documents: https://docs.podman.io
    Twitter:   @Podman_io

Setup access to the Oracle GUI

The previous step confirms that Podman is both present, and working on the system. The next step is to download, and setup Podman Desktop.

Configure an SSH tunnel on the Lab Desktop

Note: this is only required if using the Free Lab environment. If using your own Oracle Linux environment this may not be required.

  1. Open a terminal on the Luna Desktop (Applications button -> Terminal Emulator) then enter the following:

    ssh -L 5914:localhost:5901 oracle@<ip_address_of_instance>

    Example Output:

    [luna.user@lunabox ~]$ ssh -L 5914:localhost:5901 oracle@138.2.128.169
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Wed Nov 16 14:59:46 2022 from 147.154.151.58
  2. Open the TigerVNC Viewer (Applications -> Internet -> TigerVNC Viewer).

  3. Log on to the deployed server's GUI environment, by entering the following into the VNC Server text-box, and press the Connect button.

    • localhost:5914

    Example Output:

    login

  4. Enter the oracle user's password, press the OK button.

    oracle

    Example Output:

    Oracle-pwd

  5. The Server's GUI desktop is displayed with a first time login setup.

    Example Output:

    Server-GUI

  6. Press the Next button three times, then the Skip button, followed by the Start Using Oracle Linux Server button. Finally either close, or minimise, the Getting Started window (it's not needed for this Lab).

    Example Output:

    First-time-login

Download Podman Desktop

  1. Open the Firefox browser on the remote Oracle Linux instance.

    Important: Ensure that Firefox on the remote instance is started (and NOT the Firefox browser from the Luna Desktop). In other words open the Menu called Activities and NOT the menu called Applications, otherwise the subsequent steps will not work.

    Example Output:

    Open-Firefox

  2. Open a new browser tab, and enter the following URL to navigate to the Podman Desktop Downloads location.

    https://podman-desktop.io/downloads

    Example Output:

    Podman-Desktop-Download-

  3. Next download the Linux version by clicking on the hyperlink called Source*.tar.gz.

  4. The file is downloaded into the Downloads directory. Click on the Show all downloads text to open the Library Manager.

    Example Output:

    Downloads-Location

  5. Right-click on the downloaded file in the Library Manager, click on the Show in Folder menu.

    Example Output:

    Downloads-Folder

  6. The File Manager opens showing the downloaded file in the Downloads directory.

    Example Output:

    Downloaded-File

  7. If the downloaded file has not automatically expanded into a new directory, double-click on the file name to expand the file into it's own directory.

    Example Output:

    Expanded-File

    At this point the Podman Desktop executable has been downloaded. The next step is to open a new Command Prompt window and then start the Podman Desktop application, so let's move on to the fun part.

Open Podman Desktop

Now that Podman Desktop has been downloaded, the next step is to start it.

  1. Open a new Terminal session on the ol-server GUI Desktop.

    Important: These steps will not work if you open a terminal on the Luna Desktop.

    Example Output:

    Expanded-File

  2. Change into the location where the downloaded TAR file was expanded.

    cd Downloads/podman-desktop-0.9.1/
  3. List the files present.

    ls

    Example Output:

    [oracle@ol-server podman-desktop-0.9.1]$ ls
    chrome_100_percent.pak   libGLESv2.so            resources
    chrome_200_percent.pak   libvk_swiftshader.so    resources.pak
    chrome_crashpad_handler  libvulkan.so.1          snapshot_blob.bin
    chrome-sandbox           LICENSE.electron.txt    v8_context_snapshot.bin
    icudtl.dat               LICENSES.chromium.html  vk_swiftshader_icd.json
    libEGL.so                locales
    libffmpeg.so             podman-desktop
  4. Start the Podman Desktop application.

    ./podman-desktop &

    Clear the Telemetry Notification popup (if it is displayed) - it may be behind the main Podman Desktop window.

    Example Output:

    Podman-Telemetry

    This is the default Podman Desktop screen. Notice that it shows the version of Podman running, as well as indicating there is a single image and container present on the system. This is expected, because it represents the hello container pulled earlier. Feel free to confirm this by clicking on the Containers link and then the Images link. These represent in turn:

    • Containers - shows containers that are actively running together with any containers that have completed executing.

    • Images - shows the images that have been pulled locally and are available for Podman to execute.

An Overview of Podman Desktop

This section provides a short overview of some of the functionality provided by Podman Desktop.

  1. The main screen shows the version of Podman currently installed on the system.

    Example Output:

    Podman-Start

  2. The Settings section shows some of the options available to alter some of Podman Desktop's behavior. Click on the Settings menu to review what can be changed.

    Example Output:

    Podman-Settings

  3. Click on the Exit Settings link to return to the Main screen.

  4. Click on the Images menu to review the container images present on the system. This screen lists all container images that have been pulled to this machine. This screen currently shows the quay.io/podman/hello image that was pulled at the start of this Lab. It does not represent containers that are, or have been, started.

    Example Output:

    Podman-Images

    Notice the two buttons on the upper right - Pull Image and Build Image. They are used for:

    • Pull Image - pulls a container from a Registry.
    • Build Image - used to build a new container from a dockerfile.
  5. Click on the quay.io/podman/hello image to review more detailed information about the container image itself. The tabs represent in turn:

    • Summary - The image id along with size and creation date information.
    • History - Shows information about the layers used to create the container image.
    • Inspect - Shows low level information about the container in a JSON format.

    Example Output:

    Podman-ImageDetail

  6. Next, click on the Containers menu to review any containers that either are currently executing, or have exited.

    Example Output:

    Podman-Telemetry

  7. Notice that this shows the information for the quay.io/podman/hello image that was pulled at the start of this Lab. Click on it's name ( the name was randomly assigned at run-time). Click on the Logs tab and notice the screen output seen earlier at the command terminal is presented. Click on the other menu options (Inspect, Kube, Terminal, Details) to review what other information is also available via the Podman Desktop GUI.

    Example Output:

    Podman-ContainerDetails

    Because the quay.io/podman/hello container has Exited (ie: is not running) the Terminal tab will not provide access to the container's runtime environment.

    Example Output:

    Podman-NoTerminal

  8. Click on the Dashboard menu to return to the starting screen.

    Example Output:

    Podman-Dashboard

  9. Feel free to click on the Pods and the Volumes links also located on this menu. Currently there will be nothing displayed for these features because no Podman Pods or Podman Volumes have been created, and covering how to do this is beyond the scope of this Lab.

This concludes the brief overview of how to install and navigate around the Podman Desktop GUI interface. For more in-depth information describing Podman Desktop's functionality, please refer to the Podman Desktop documentation located here .

The next section provides a simple walkthrough of how to use the Podman Desktop GUI to pull and execute a 'stock' Nginx image.

(Optional) Pull and execute Nginx using Podman Desktop

The following steps provide a simple walkthough outlining how to pull, and execute, an image - in this example Nginx.

  1. Click on the Images menu to review the container images present on the system.

    Example Output:

    Podman-Images

  2. Click on the Pull Image button.

    Example Output:

    Podman-Images

  3. Enter the following into the text box (Where it says Please enter a value).

    docker.io/library/nginx:latest

    Note: The podman pull portion of the command is not required because Podman Desktop invokes Podman directly itself.

    Example Output:

    Podman-pull-nginx

  4. Click on the button called Pull Image, and this will be displayed.

    Example Output:

    Podman-pull-nginx

    The Nginx image has now been 'pulled' to the local machine and is available to be started (executed).

  5. Click again on the Images menu option, the Nginx container should be listed.

    Example Output:

    Podman-nginx-ready

  6. Move the mouse over the name of the Nginx container. Notice several icons are displayed. Click on the 'VCR' style run button present (third button in from the right-hand side).

    Example Output:

    Podman-nginx-run

  7. A dialogue box allowing the Port Mapping and Container Name to be modified (if the default values are not suitable). For this exercise, leave the values as they are and press the Start Container button.

    Example Output:

    Podman-nginx-run

  8. Podman Desktop automatically switches to the Containers menu and displays the (now) executing Nginx image.

    Example Output:

    Podman-nginx-run

  9. Move the mouse pointer over the running Nginx container (the image called docker.io/library/nginx:latest). Click on the Open Browser icon (the one with the arrow pointing 45 degrees upwards).

    Example Output:

    Podman-nginx-run

  10. A browser window opens and shows a screen with the Welcome to Nginx! message.

    Example Output:

    Podman-nginx-run

    This completes the demonstration showing how to use Podman Desktop to download, and then start a Podman container - in this example Nginx.

SSR