
Build a reliable production environment with Docker by creating portable images and multi-container setups, and learn YAML basics with postgres, pgadmin, and airflow.
Install Docker, pull the Alpine image, and run interactive containers with Docker run. Build a Dockerfile, tag the image, and execute hello world to demonstrate simple container workflows.
List Docker images with docker image ls to identify legacy or unintended images, then prune unused images with docker image prune -a to remove all but those in use.
Install a Postgres database using the official Docker image and run it as a container named some-postgres. Expose port 5432 to connect from your local machine with psql or DBeaver.
Map postgres data to your local machine using the -v volume in docker run, so data persists in the pg_data folder after container deletion.
Customize a postgres image by installing vim and adding an init script to docker-entrypoint-initdb.d, build a my_postgres image from postgres:14.5, and distribute it with preconfigured my_db, my_user, and my_pass.
We explore docker network by running pgadmin in a container on port 8080 to manage two localhost databases, and learn to connect using the container IP via docker inspect.
Learn how docker compose starts multiple services—pg14, pg15, and pgadmin—with a YAML file, enabling project-based container management, port mapping, and service-name connections.
Learn to distribute a Docker image by tagging, pushing to Docker Hub, and managing public or private repositories, including organization use and private registries for company delivery.
Demonstrates essential docker commands, including build, tag, login, pull/push, run, start/stop, cp, exec, ls, prune, and docker compose up, plus a Dockerfile example and yaml usage.
Explore yaml, a human-friendly data serialization language for docker configurations, and its comparisons to json and xml, using key-value pairs, null values, and diverse data types.
Learn YAML file structure, including scalar key-value pairs, start/end markers (three dashes, three dots), two-space indentation, dictionaries, lists signaled by dashes, and multiple definitions in one file.
Discover how YAML anchors and aliases reduce duplication in Docker Compose files, reuse common environment variables, and override values with the merge key.
Apply Docker and YAML basic knowledge to build your environment quickly and boost your productivity, and use the docs.docker.com resource for further guidance.
Docker is a very handy system/infrastructure tool, it will allow you to simulate production environment in your local computer, or to test multiple applications without change too much on your local settings. I would like to share this useful tool to you.
In this course, we will go through basic usage of docker command and also using Yaml to write docker compose file.
This course is for docker beginners, you don't need to have program background. We will start with what is docker, then go through most useful docker command like build/run/cp/exec/inspect, teach you different docker concepts like image/container/network/volume, build different docker images, and use docker-compose to setup a full environment that using multiple docker containers. You will also learn how to share/distribute your docker image to other people by using docker hub. In order to understand docker compose better, we will also introduce basic knowledge about Yaml language, including basic type scalar, list, dictionary, anchor and alias.
After learning this course, you will be able to use docker as a tool and yaml as a language, to easily setup your local environment, or to understand other people’s Yaml configuration/definitions. I hope it will help you to make your day to day works more productively, and manage these two useful tools in your own career.