Project Documentation: Learning Docker By Using Docker

Reference Architecture

This is another project from my Level Up In Tech AWS DevOps Boot Camp.

Scenario

How many times has the operations team heard “Well it works on my machine or in the Integration environment?” Or how many times have developers started working on several applications in different programming languages and find that they need to have specific database or web server for each of the applications…..O MYYYYY! Well containers to the rescue! Containers allow multiple applications to exists because they are self-contained. Containers only contain what is needed to run the application.

According to Docker’s web site, Docker is the defacto standard for containers. Docker is on a mission to help developers bring their ideas to life by simplifying and accelerating development workflows.

This tutorial focuses on using Docker to learn Docker. You have been tasked with creating and deploying a custom image that can used to create containers quickly. The container should map port 8080 on the host to 80 in container, use AWS S3 as a volume and display the information about when the container was created. The reference architecture below depicts what we will accomplish.

Tasks

We will accomplish the following in this tutorial:

  • Use s3fs to mount an AWS S3 Bucket
  • Create Dockerfile
  • Create a Custom Image
  • Deploy Container with port 8080 and an AWS S3 Bucket as a Volume
  • Display Container Created Information
  • Verify Data Saved to AWS S3 Bucket

In order to proceed with this tutorial, ensure your environment meets the following criteria:

  • AWS CLI v2 installed. Follow the steps in the AWS Command Line Interface User Guide documentation to install AWS CLI v2.
  • AWS CLI has been configured. Follow the steps in the Configuring the AWS CLI documentation to configure with the following information: Region name — us-east-1 and Output format — json
  • AWS CLI Command Reference documentation and docker docs reference documentation (specifically Command-line → Docker CLI (docker) reference and Dockerfile reference) will be heavily utilized in this tutorial so it is a good idea to bookmark them.
  • My host OS is Ubuntu 20.04 and I am using PowerShell from Microsoft Visual Studio Code (VS Code) on my Windows 10 laptop. It can be downloaded here. This tutorial will also work with PowerShell out side of VS Code.
  • I use s3fs to mount an AWS S3 bucket. Ensure that s3fs has been installed on the host machine.

Download Learn Docker By Using Docker.pdf my Google Drive.

You are now empowered to use Docker! Remember SHARING KNOWLEDGE is POWER and to KEEP LEARNING!

Please post your feedback.

20+yrs of IT Industry expertise from working in and with global corporations in Cloud, Integration and Digital Experiences domains as Solutions Architect.