- Lab
- A Cloud Guru
Building a Custom Image Using Podman
For this lab, we will be creating a Dockerfile that will start a web server using a custom configuration file copied from the host system. The web server will listen on a non-standard port. Upon completion, you will have a working understanding of Dockerfiles and how to build a custom image from them. *This lab is not approved or sponsored by Red Hat.*
Path Info
Table of Contents
-
Challenge
Set Up a New Build Directory
Create a new build directory. Then, copy the
Dockerfile
, along with any.zip
and.tar
files, from/home/cloud_user
and add them to the build directory. -
Challenge
Complete the Dockerfile
Complete the
Dockerfile
. The following should be completed in the Dockerfile:- Start with the image
registry.access.redhat.com/ubi8/ubi:8.4
. - Set yourself as the maintainer and provide a description using
LABEL
. - Install
nginx
andunzip
packages into the image. - Set a variable named
PORT
to a value of90
. - Use the variable
PORT
to expose port90
in the image. - Import the file
nginx.zip
to/tmp
. - Unzip the
nginx.zip
file to/etc/nginx
. - Import and extract the file
llama_cart.tar
to/usr/share/nginx/html/
. - Import the file
llama_cart.tar
to the working directory/tar_file
without uncompressing it. - #Set the container to start
nginx
with options"-g"
and"daemon off;"
. Make"-g"
and"daemon off;"
overwritable by Podman run arguments.
Note: The draft
Dockerfile
also contains these notes presented as comments. - Start with the image
-
Challenge
Build and Test the New Image
-
Build the new container image with the following information:
- Name the image
llama-cart
. - Tag the image
v1
.
- Name the image
-
Start a new container named
llama-cart
and exposeport 90
in the container toport 8090
on the localhost. -
Verify the website is available on
port 8090
of the system using a web browser.
-
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.