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
Oracle Support Disclaimer
Oracle does not provide technical support for the sequence of steps that are provided in the following instructions because these steps refer to software programs and operating systems that are not provided by Oracle. This tutorial provides optional instructions as a convenience only.
For more information about Oracle's supported method for the development and usage of Podman-based services see https://docs.oracle.com/en/operating-systems/oracle-linux/podman/ .
Setup the Lab Environment
Note: When using the free lab environment, see Oracle Linux Lab Basics for connection and other usage instructions.
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.
Check the version of Podman.
podman -v
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.
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
Open the TigerVNC Viewer (Applications -> Internet -> TigerVNC Viewer).
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:
Enter the
oracle
user's password, press the OK button.oracle
Example Output:
The Server's GUI desktop is displayed with a first time login setup.
Example Output:
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:
Download Podman Desktop
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 calledApplications
, otherwise the subsequent steps will not work.Example Output:
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:
Next download the Linux version by clicking on the hyperlink called
Source*.tar.gz
.The file is downloaded into the Downloads directory. Click on the Show all downloads text to open the Library Manager.
Example Output:
Right-click on the downloaded file in the Library Manager, click on the
Show in Folder
menu.Example Output:
The File Manager opens showing the downloaded file in the Downloads directory.
Example Output:
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:
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.
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:
Change into the location where the downloaded TAR file was expanded.
cd Downloads/podman-desktop-0.9.1/
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
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:
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 theImages
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.
The main screen shows the version of Podman currently installed on the system.
Example Output:
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:
Click on the Exit Settings link to return to the Main screen.
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:
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.
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:
Next, click on the Containers menu to review any containers that either are currently executing, or have exited.
Example Output:
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:
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:
Click on the Dashboard menu to return to the starting screen.
Example Output:
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.
Click on the Images menu to review the container images present on the system.
Example Output:
Click on the
Pull Image
button.Example Output:
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:
Click on the button called
Pull Image
, and this will be displayed.Example Output:
The Nginx image has now been 'pulled' to the local machine and is available to be started (executed).
Click again on the Images menu option, the Nginx container should be listed.
Example Output:
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:
A dialogue box allowing the
Port Mapping
andContainer 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 Desktop automatically switches to the Containers menu and displays the (now) executing Nginx image.
Example Output:
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:
A browser window opens and shows a screen with the Welcome to Nginx! message.
Example Output:
This completes the demonstration showing how to use Podman Desktop to download, and then start a Podman container - in this example Nginx.