 Hi, my name is Sedger Clyburn. I'm an intern on the OpenShift Developer Advocate team. And I'd like to explain how you can use Podman to run an existing image, port forward, and build an image. Now, Podman is an open-source Linux-based tool that builds Docker-compatible container images. However, the main difference is that Podman doesn't require the Docker service or even any other active container engine for the command to work and has similar directory structure as Builda, Scopio, and Creo. As far as background concepts that you need to know, if you know Kubernetes pods, you'll understand Podman pods. And for more information, you can go to developers.redhat.com where we have plenty of resources to help you out. Additionally, a group of sales is actually called a pod, explaining the interesting logo for Podman. The first step to running an existing image is, of course, installing Podman. Now I'm running Red Hat Enterprise Linux Server 8. You can just all run yum-y install Podman, or if on Fedora, replace yum with DNF, or whatever distribution you're currently using. Something interesting about Podman is the great integration with Docker. And you'll quickly notice that all of your favorite Docker commands also exist through Podman. If you'd like to try it, you can run alias Docker equals Podman, which will replace your Docker commands with Podman. Docker commands such as pool, push, build, run, commit, and more can all be run through Podman. Just to get a general understanding of where we are, let's find our Podman version with podman-b and podman info to get details of the container environment. Firstly, let's do the easy part and run an existing image using Podman. I've got one of my personal favorites here, the Docker Funbox, which is a container that has fun terminal commands and art created by Warner Brookes. Now, in order to create the container, pull that base image in additional requirements, let's run podman-run-rm-it-warnwrite-funbox, where the rm argument removes the container after it exits, and the it argument connects the container to the terminal so that you can provide input. I know you might be stressing, so we'll be attaching a Podman basics cheat sheet to the Red Hat developers website to this video. Sweet. Now we can see our container running on top of Debbie and Jesse, and we get a neat little UI for commands we can try. Let's go ahead and run podman-run-rm-it-warnwrite-funbox9cat as an argument, and there we go, a trip down memory lane. If you're following along with this video, feel free to try any of the other fun animations before continuing. Now, let's talk about port forwarding with Podman. For the sake of simplicity, let's set up a simple Apache web server in a CentOS container, one that would be compatible with Docker as well. Now, we can pull a new CentOS Docker image with the podman-pull command using podman-pull-centos-latest. And once that's been created, let's check it out with podman-images. Make sure it's there. Now, let's run the podman-image command using the command podman-run-it, and let's give it a name. For us, that's going to be Red Hat website. And remember to use that base image of CentOS-latest. Now that we're in the container, let's install the Apache web server with yum using yum install-y-http-d and create a web page for the publicly accessible location with Apache. To save some time here, I'm going to put in some template code and save the file and exit from the container. Exit essentially shuts off or powers down the container and now we can commit that custom podman image that we've created from the stopped image and build it as well. Podman commit will allow us to do just that and we can give it a custom name and version while we do this command. Again, use any name or any version that you'd like. Finally, let's launch this web server container using the customized image we've created, which we can check with podman images. The command podman-run-p will allow us to port forward. So the all outside request for port 8080 will be forwarded to port 80, the Apache default port. Now let's run podman-run-p, forward those ports, use the customized container tag that we talked about before and get Apache's default location for HTML files, have that publicly accessible and let's run this web server. We can head over to the host public IP that I have sitting in the browser with port 8080 and let's see this website in action. Oh wow, there it is. Feel free to stop the container now with podman stop and again using the name of your container and remove it with the same thing, but replacing stop with rm. Remember all of the commands that we've used today have complete command line compatibility with Docker. Awesome, right? Thanks so much for watching. If you're interested in or have questions about this video, please feel free to head over to the developer.redhat.com where we have plenty of resources to help you learn podman, Docker and Red Hat OpenShift. Thanks so much.