- Lab
- A Cloud Guru
Building a Docker Image via Dockerfile
When creating Docker images for websites, applications, and any service that may require any code change in the future, it's best to build in a way that can be quickly and easily rebuilt when any changes occur. Dockerfiles provide an in-platform way to do just that. In this lab, we'll be building a Dockerfile that can generate an image of our website that will make sure that when changes happen with the website code, we won't have to change the Dockerfile itself!
Path Info
Table of Contents
-
Challenge
Create the Dockerfile
The Dockerfile can be created in a number of ways, so long as it meets expectations. The following nine steps are suggested:
- Define the desired container.
- Update the packages on the container.
- Install Nginx.
- Update the Nginx configuration.
- Create the location of the website files.
- Set the working directory to that of the website.
- Copy over website files, ensuring that Nginx is the owner.
- Expose port
80
. - Run Nginx at
/tmp/nginx.pid
; ensure Nginx is not set to run as a daemon.
-
Challenge
Test the Image
- Use
docker build
to generate an image based on the provided Dockerfile - Create a
web01
container based on the image, ensuring port80
on the container maps to80
on the host and the container is launched in the background.
- Use
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.