We may earn an affiliate commission when you visit our partners.
Elton Stoneman

You can run stateful applications and databases in containers - but should you? This course teaches you how the container filesystem works, how to persist data outside of containers, and how to choose storage options for Docker and Kubernetes.

Containers are meant to be short-lived - you replace them any time you update your app code or apply a security patch. What happens to the data inside containers when you replace them, and how can you get the benefits of containerization for stateful applications?

Read more

You can run stateful applications and databases in containers - but should you? This course teaches you how the container filesystem works, how to persist data outside of containers, and how to choose storage options for Docker and Kubernetes.

Containers are meant to be short-lived - you replace them any time you update your app code or apply a security patch. What happens to the data inside containers when you replace them, and how can you get the benefits of containerization for stateful applications?

In this course, Handling Data and Stateful Applications in Docker and Kubernetes, you'll learn how storage works in containers – how the filesystem is constructed and how you can persist data outside of the container lifecycle.

First, you'll learn about image layers and volume mounts in Docker. Then, you'll explore how to inject configuration files into containers with Kubernetes. Next, you'll explore options for writing persistent data in Kubernetes clusters. Finally, you'll discover about optimizing Docker images and managing storage on servers and registries.

By the end of the course, you'll understand all the choices for handling data in containers, and you'll be able to run your own stateful apps in Docker and Kubernetes.

Enroll now

What's inside

Syllabus

Course Overview
Understanding the Container Filesystem
Reading Application Configuration in Kubernetes Volumes
Persisting Data in Kubernetes
Read more
Managing Storage on Servers and Registries

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches how to choose storage options for Docker and Kubernetes, which is standard in industry
Explores image layers and volume mounts in Docker, which is foundational for containerization
Examines ways to inject configuration files into containers with Kubernetes, which is a key feature of container orchestration
Develops strategies for writing persistent data in Kubernetes clusters, which is essential for stateful applications
Provides guidance on optimizing Docker images and managing storage on servers and registries, which is practical for DevOps
Requires students to have a foundational understanding of containers, which may not be suitable for absolute beginners

Save this course

Save Handling Data and Stateful Applications in Docker and Kubernetes to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Handling Data and Stateful Applications in Docker and Kubernetes with these activities:
Unix Command Line Review
Review Unix command line basics to ensure a solid foundation for working with Docker and Kubernetes.
Browse courses on Unix Command Line
Show steps
  • Review basic file manipulation commands (e.g., ls, cd, mkdir, rm).
  • Practice using pipes and filters to process data.
  • Explore common text processing commands (e.g., grep, sed, awk).
Organize and review course materials
Organizing course materials will enhance your familiarity with the content.
Show steps
  • Create a folder for course materials
  • Download and save all course materials
  • Review course materials regularly
Review Linux basics
Prepare for the course by refreshing your understanding of Linux fundamentals, which will be essential for working with containers and Kubernetes.
Browse courses on Linux Operating System
Show steps
  • Review online tutorials on Linux basics
  • Practice using the Linux command line in a virtual environment
13 other activities
Expand to see all activities and additional details
Show all 16 activities
Follow tutorials on Docker and Kubernetes
Guided tutorials provide structured learning and hands-on practice.
Browse courses on Docker
Show steps
  • Find a Docker tutorial for beginners
  • Find a Kubernetes tutorial for beginners
  • Complete the tutorials
Practice creating and managing Docker containers
Hands-on practice with Docker containers will enhance your understanding.
Browse courses on Docker
Show steps
  • Create a simple Docker container
  • Run a command in a Docker container
  • Save and load Docker images
Practice deploying and managing Kubernetes clusters
Hands-on practice with Kubernetes clusters will strengthen your skills.
Browse courses on Kubernetes
Show steps
  • Create a Kubernetes cluster
  • Deploy a pod to a Kubernetes cluster
  • Expose a service to the outside world
Follow tutorials on using Docker images
Enhance your understanding of Docker by completing guided tutorials that provide hands-on experience with creating and managing Docker images.
Browse courses on Docker
Show steps
  • Find video or written tutorials on creating Docker images
  • Follow the steps in the tutorials to create and run your own Docker images
Dockerfile Creation and Optimization
Create and optimize Dockerfiles to efficiently build and deploy containerized applications.
Show steps
  • Understand the structure and syntax of Dockerfiles.
  • Practice creating Dockerfiles for simple and complex applications.
  • Explore advanced Dockerfile features (e.g., multi-stage builds, ARG).
Practice writing Kubernetes YAML files
Develop proficiency in writing Kubernetes YAML files, which are essential for defining and managing Kubernetes clusters and deployments.
Browse courses on Kubernetes
Show steps
  • Find examples of Kubernetes YAML files online
  • Write your own Kubernetes YAML files to create and configure deployments, services, and other resources
Attend a workshop on Docker or Kubernetes
Engage with experts and other professionals in a workshop setting to gain hands-on experience and expand your knowledge of Docker or Kubernetes.
Browse courses on Docker
Show steps
  • Research and identify relevant workshops
  • Register and attend the workshop
Create a containerized application
Building a containerized application will reinforce the concepts of the course.
Browse courses on Docker
Show steps
  • Design and develop an application
  • Containerize the application
  • Deploy the application to a container platform
Docker Image Optimization Techniques
Practice optimizing Docker images to minimize size and improve efficiency.
Show steps
  • Identify areas for optimization (e.g., package selection, multi-stage builds).
  • Implement best practices for layering and caching.
  • Use tools (e.g., Docker Slim, Alpine Linux) to reduce image size.
Create a simple stateful application with Docker and Kubernetes
Apply your knowledge by building a project that involves creating a stateful application using Docker and Kubernetes, allowing you to experience the concepts in practice.
Browse courses on Docker
Show steps
  • Design the architecture of your stateful application
  • Create Docker images for your application and database
  • Deploy your application to a Kubernetes cluster
  • Test the functionality of your application
Participate in a Docker or Kubernetes hackathon
Hackathons provide an opportunity to apply your skills and collaborate with others.
Browse courses on Docker
Show steps
  • Find a Docker or Kubernetes hackathon
  • Form a team or join an existing team
  • Develop a project during the hackathon
Write a blog post or article on a topic related to Docker or Kubernetes
Consolidate your understanding by writing a blog post or article on a specific topic related to Docker or Kubernetes, providing valuable content to the community.
Browse courses on Docker
Show steps
  • Choose a topic and research
  • Write and edit the blog post or article
  • Publish your content on a relevant platform
Contribute to open-source projects related to Docker or Kubernetes
Connect with the broader community and deepen your understanding by contributing to open-source projects related to Docker or Kubernetes.
Browse courses on Docker
Show steps
  • Identify open-source projects related to Docker or Kubernetes
  • Review the project documentation and contribute bug fixes or enhancements

Career center

Learners who complete Handling Data and Stateful Applications in Docker and Kubernetes will develop knowledge and skills that may be useful to these careers:
Docker Engineer
Docker Engineers are responsible for the management and operation of Docker containers. They work to ensure that containers are running smoothly and efficiently, and they troubleshoot and resolve any issues that arise. Docker Engineers must have a deep understanding of Docker, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Docker Engineers build a foundation in the management and operation of Docker containers.
Kubernetes Engineer
Kubernetes Engineers are responsible for the management and operation of Kubernetes clusters. They work to ensure that clusters are running smoothly and efficiently, and they troubleshoot and resolve any issues that arise. Kubernetes Engineers must have a deep understanding of Kubernetes, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Kubernetes Engineers build a foundation in the management and operation of Kubernetes clusters.
Site Reliability Engineer
Site Reliability Engineers (SREs) are responsible for the reliability and performance of software systems. They work to identify and mitigate risks, and they ensure that systems are always available and performant. SREs must have a deep understanding of software engineering, as well as the ability to work effectively with operations teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help SREs build a foundation in containerization and Kubernetes, which are essential technologies for modern SRE practices.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. They work to automate and streamline the software development process, and they ensure that software is deployed and maintained in a reliable and efficient manner. DevOps Engineers must have a strong understanding of both development and operations, as well as the ability to work effectively with both teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help DevOps Engineers build a foundation in containerization and Kubernetes, which are essential technologies for modern DevOps practices.
Data Engineer
Data Engineers are responsible for the design, development, and maintenance of data pipelines. They work to ensure that data is collected, processed, and stored in a reliable and efficient manner. Data Engineers must have a strong understanding of data engineering principles, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Data Engineers build a foundation in containerization and Kubernetes, which are essential technologies for modern data engineering practices.
Storage Architect
Storage Architects design and implement storage systems for organizations. They work to ensure that storage systems are scalable, secure, and reliable. Storage Architects must have a deep understanding of storage technologies, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Storage Architects build a foundation in the management and operation of storage systems for containers and Kubernetes.
Cloud Developer
Cloud Developers design and develop software applications that run in the cloud. They work to ensure that applications are scalable, secure, and reliable. Cloud Developers must have a deep understanding of cloud computing technologies, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Cloud Developers build a foundation in containerization and Kubernetes, which are essential technologies for modern cloud development practices.
Systems Administrator
Systems Administrators are responsible for the management and operation of computer systems. They work to ensure that systems are running smoothly and efficiently, and they troubleshoot and resolve any issues that arise. Systems Administrators must have a deep understanding of operating systems, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Systems Administrators build a foundation in the management and operation of containerized and Kubernetes-based systems.
Cloud Architect
Cloud Architects design, build, and maintain cloud computing systems. They work with clients to understand their business needs and translate those needs into technical requirements. Cloud Architects must have a deep understanding of cloud computing technologies, as well as the ability to design and implement scalable, secure, and reliable systems. The Handling Data and Stateful Applications in Docker and Kubernetes course can help Cloud Architects build a foundation in containerization and Kubernetes, which are essential technologies for modern cloud computing.
Software Engineer
Software Engineers design, develop, and maintain software systems. They work to ensure that systems are scalable, secure, and reliable. Software Engineers must have a deep understanding of software engineering principles, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course may be useful for Software Engineers who are interested in learning more about containerization and Kubernetes.
Database Administrator
Database Administrators are responsible for the management and operation of databases. They work to ensure that databases are scalable, secure, and reliable. Database Administrators must have a deep understanding of database technologies, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course may be useful for Database Administrators who are interested in learning more about containerization and Kubernetes.
Technical Architect
Technical Architects design and implement technical solutions for organizations. They work with stakeholders to understand business needs and translate those needs into technical requirements. Technical Architects must have a deep understanding of technology, as well as the ability to work effectively with other architects and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course may be useful for Technical Architects who are interested in learning more about containerization and Kubernetes.
IT Manager
IT Managers are responsible for the planning, implementation, and management of information technology systems. They work to ensure that IT systems are aligned with business goals and that they are used effectively and efficiently. IT Managers must have a deep understanding of IT technologies, as well as the ability to work effectively with other managers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course may be useful for IT Managers who are interested in learning more about containerization and Kubernetes.
Data Analyst
Data Analysts collect, analyze, and interpret data to help organizations make informed decisions. They work with data from a variety of sources, including databases, spreadsheets, and web logs. Data Analysts must have a strong understanding of data analysis techniques, as well as the ability to communicate their findings effectively. The Handling Data and Stateful Applications in Docker and Kubernetes course may be useful for Data Analysts who are interested in learning more about containerization and Kubernetes.
Network Engineer
Network Engineers design, implement, and manage computer networks. They work to ensure that networks are scalable, secure, and reliable. Network Engineers must have a deep understanding of networking technologies, as well as the ability to work effectively with other engineers and teams. The Handling Data and Stateful Applications in Docker and Kubernetes course may be useful for Network Engineers who are interested in learning more about containerization and Kubernetes.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Handling Data and Stateful Applications in Docker and Kubernetes.
Delves into the mechanisms and advanced options available within Docker. It provides a more in-depth look at concepts such as Dockerfiles, image management, and container networking and security. It offers a comprehensive reference for Docker users looking to optimize and enhance their understanding and usage of the platform.
Focuses on practical Kubernetes applications and use cases, with a strong emphasis on managing and deploying containerized applications in a production environment. It provides hands-on guidance on Kubernetes architecture, cluster management, application deployment, and troubleshooting.
Is an official guide to Kubernetes, providing a comprehensive overview of its architecture, components, and capabilities. It offers insights into the practical use of Kubernetes for managing containerized workloads, including cluster management, application deployments, and networking.
Provides a deep dive into the architectural patterns and principles involved in designing and building scalable, reliable, and maintainable data-intensive systems. It covers topics such as data modeling, storage systems, data processing, and distributed systems.
Focuses on real-world use cases and scenarios for Docker. It provides practical examples and guidance on using Docker for tasks such as application development, deployment, and continuous integration. It valuable resource for practitioners looking to apply Docker in their projects.
Offers a practical guide to microservices architecture. It covers topics such as microservice design principles, service discovery, and distributed systems. It provides insights into the challenges and benefits of microservices and useful resource for those looking to adopt a microservices approach.
Provides an introduction to Hadoop, a popular framework for data-intensive computing. It covers topics such as Hadoop architecture, data storage, and data processing. It valuable resource for understanding the concepts and principles of big data processing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Handling Data and Stateful Applications in Docker and Kubernetes.
Deploying Stateful Applications in Kubernetes
Most relevant
Docker Container Fundamentals (Hands-on) - DevOps
Most relevant
Learn DevOps: The Complete Kubernetes Course
Most relevant
Developing .NET Framework Apps with Docker
Most relevant
Docker and Kubernetes: The Complete Guide
Most relevant
Docker Deep Dive
Most relevant
Kubernetes for Developers: Moving from Docker Compose to...
Most relevant
Deploying Containerized Workloads Using Google Cloud...
Most relevant
Managing Sitecore Docker Containers
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser